您的位置:首页 > 编程语言 > Python开发

开始使用 Spark

2017-09-27 10:54 232 查看

pyspark

如果你想要减少日志的打印,复制 conf/log4j.properties.template 并重命名为 conf/log4j.properties,然后修改下列配置:

log4j.rootCategory=WARN, console


使用IPython

IPython是一个python的高级shell,包含需要功能,现在可以把IPython集成到SPARK中。

> sudo pip install ipython==5.0
> sudo pip install jupyter
> sudo vim /etc/environment
--------------
export PYSPARK_PYTHON=python
export PYSPARK_DRIVER_PYTHON=jupyter
export PYSPARK_DRIVER_PYTHON_OPTS="notebook --allow-root --ip=192.168.33.32"
--------------
> ./bin/pyspark


注:如果报错“Caused by: ERROR 25505: A read-only user or a user in a read-only database is not permitted to disable read-only mode on a connection.”,说明你的操作用户权限不够。

使用示例:



Spark 核心概念

Spark应用由一个 driver program 组成,它可以部署各种各样的操作在cluster上面。Driver program包含你应用的主函数并且它定义了distributed datasets在集群上面。

Driver program通过 SparkContext object 访问Spark,其实也就是代表一个连接到计算集群里。

当你有了 SparkContext,你就可以调用一些内置函数来生成RDDs了。例如sc.textFile() 就创建了一个RDD。

为了运行这一系列的操作,driver program管理着一系列的nodes,我们叫做executor。



当有任务或函数需要执行的时候,driver program会自动把函数分配到不同的集群节点里面执行。

Standalone Applications

你可以把你的应用用Python脚本编写,但是你必须要使用 bin/spark-submit 把这个脚本进行提交执行。

> bin/spark-submit my_script.py


例如:

test.py

from pyspark import SparkConf, SparkContext
conf = SparkConf().setMaster('local').setAppName('My App')
sc = SparkContext(conf = conf)
print(sc)


执行:

> /opt/spark/bin/spark-submit test.py


注:

1. setMaster() 用来设置 cluster URL,在这里 local 意味着在本地一个线程里面的运行Spark应用。

2. AppName 是你应用的名字,你可以在CLUSTER MANAGER UI查看。

当你在python中获得了 SparkContext object,你就可以调用函数生成 RDDs了。如果你想要关闭Spark,可以在SparkContext上面调用stop()方法或者直接调用系统退出(system.exit(0)或者sys.exit())
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spark python