小编san*_*mar的帖子

Docker 错误:仅允许一个“主机”网络实例

我正在尝试运行一个容器,其中我需要将网络驱动程序用作“主机”而不是“桥接器”。我在 Centos 机器上运行它,我的 docker-compose.yml 是

version: '3.4'

services:
  testContainer:
    build:
      context: .
      args: 
        HADOOP_VERSION: 2.6.0
        HIVE_VERSION: 1.1.0
    image: testcontainer
    container_name: testcontainer
    hostname: testcontainer
    ports:
      - 9200:9200
      - 9300:9300
      - 5601:5601
      - 9001:9001
    ulimits:
      memlock:
        soft: -1
        hard: -1  
    networks:
      - elknet  

networks:
  elknet:
    driver: host      
Run Code Online (Sandbox Code Playgroud)

但是当我触发“ docker-compose up ”时出现以下错误:

错误:仅允许一个“主机”网络实例

任何人都可以建议我如何使用 docker-compose.yml 使用主机网络。

另请注意,如果我按照@larsks的建议使用network_host,我仍然收到错误

version: '3.4'

services:
  testContainer:
    build:
      context: .
      args: 
        HADOOP_VERSION: 2.6.0
        HIVE_VERSION: 1.1.0
    image: testcontainer
    container_name: testcontainer
    hostname: testcontainer
    ports:
      - 9200:9200
      - 9300:9300
      - 5601:5601
      - …
Run Code Online (Sandbox Code Playgroud)

docker centos7 docker-compose docker-swarm

7
推荐指数
1
解决办法
2万
查看次数

动态传递查询字符串以在 PySpark Dataframe 方法 selectExpr() 中选择列

我按如下方式动态生成查询字符串并将其传递给 selectExpr()。

queryString=''''category_id as cat_id','category_department_id as cat_dpt_id','category_name as cat_name''''
df.selectExpr(queryString)
Run Code Online (Sandbox Code Playgroud)

根据文件

selectExpr(*expr) :投影一组 SQL 表达式并返回一个新的 DataFrame。这是 select() 的一个变体,它接受 SQL 表达式。

问题在于变量“queryString”被视为单个字符串而不是三个单独的列(正确的是)。以下是错误:

:org.apache.spark.sql.catalyst.parser.ParseException:…………

== SQL ==

“category_id 作为 cat_id”、“category_department_id 作为 cat_dpt_id”、“category_name 作为 cat_name”

------------------------^^^

有什么方法可以将动态生成的“queryString”作为 selectExpr() 的参数传递。

apache-spark-sql pyspark

1
推荐指数
1
解决办法
3610
查看次数