spark python3_Python3 连接spark,spark集群 [亲测]

2018-07-25-004911.jpg

1. 连接spark

1.1. 简单连接

from

1

2

3

4

5

6

7

from.sqlimportSparkSession

spark=SparkSession\

.builder\

.appName('my_first_app_name')\

.getOrCreate()

1.2. 连接spark集群

# 使支持hive

spark = SparkSession \

.builder \

.enableHiveSupport() \

.master("xxx.xxx.xxx.xxx:7077") \

.appName("my_first_app_name") \

.getOrCreate()

1

2

3

4

5

6

7

8

# 使支持hive

spark=SparkSession\

.builder\

.enableHiveSupport()\

.master("xxx.xxx.xxx.xxx:7077")\

.appName("my_first_app_name")\

.getOrCreate()

1.3. 集群

如果需要在集群中使用指定的

或者在python程序中指定也行。

import os

os.environ['SPARK_HOME'] = '/usr/local/workspace/spark-2.1.0-bin-hadoop2.7'

os.environ['PYSPARK_PYTHON'] = '/usr/local/bin/python3.5'

os.environ['PYSPARK_DRIVER_PYTHON']='python3'

from

1

2

3

4

5

6

7

8

9

10

11

12

13

importos

os.environ['SPARK_HOME']='/usr/local/workspace/spark-2.1.0-bin-hadoop2.7'

os.environ['PYSPARK_PYTHON']='/usr/local/bin/python3.5'

os.environ['PYSPARK_DRIVER_PYTHON']='python3'

frompyspark.sqlimportSparkSession

spark=SparkSession\

.builder\

.enableHiveSupport()\

.master("xxx.xxx.xxx.xxx:7077")\

.appName("my_first_app_name")\

.getOrCreate()

1.4. config参数

# 在连接spark的时候,还可以添加其他参数,用config

from pyspark.sql import SparkSession

spark = SparkSession\

.builder\

.enableHiveSupport()\

.master("xxx.xxx.xxx.xxx:7077")\

.appName("my_first_app_name")\

.config('spark.some.config.option','value') \

.config('spark.some.config.option','value') \

...

.getOrCreate()

1

2

3

4

5

6

7

8

9

10

11

12

# 在连接spark的时候,还可以添加其他参数,用config

frompyspark.sqlimportSparkSession

spark=SparkSession\

.builder\

.enableHiveSupport()\

.master("xxx.xxx.xxx.xxx:7077")\

.appName("my_first_app_name")\

.config('spark.some.config.option','value')\

.config('spark.some.config.option','value')\

...

.getOrCreate()

2. 提交作业

提交作业可以通过上面的方法,先连接spark,然后使用spark session做各种操作。另一种就是通过submit方式将.py文件提交到spark集群。

特别的,如果使用python虚拟环境,可以通过

PYSPARK_DRIVER_PYTHON,PYSPARK_PYTHON 指定。

# 提交spark作业

PYSPARK_DRIVER_PYTHON=/opt/anaconda3/envs/xxljob/bin/python \

PYSPARK_PYTHON=/opt/anaconda3/envs/xxljob/bin/python \

/usr/local/workspace/spark-2.1.0-bin-hadoop2.7/bin/spark-submit \

--master yarn \ #也可以是 yarn-client,yarn-cluster

--queue ai \

--num-executors 12 \

--driver-memory 30g \

--executor-cores 4 \

--executor-memory 32G

/tmp/test_spark.py

1

2

3

4

5

6

7

8

9

10

11

12

13

# 提交spark作业

PYSPARK_DRIVER_PYTHON=/opt/anaconda3/envs/xxljob/bin/python\

PYSPARK_PYTHON=/opt/anaconda3/envs/xxljob/bin/python\

/usr/local/workspace/spark-2.1.0-bin-hadoop2.7/bin/spark-submit\

--masteryarn\#也可以是 yarn-client,yarn-cluster

--queueai\

--num-executors12\

--driver-memory30g\

--executor-cores4\

--executor-memory32G

/tmp/test_spark.py

2018-05-29-012523.png

2020012309512985.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值