Spark

      • driver program 包含了应用的main 函数,并且定义了集群上的分布式数据集,还对这些分布式数据集应用了相关操作
      • driver program 通过一个SparkContext 对象来访问spark
      • driver program 一般要管理多个执行器(executor) 节点
    1. SparkContext:该对象代表了对计算集群的一个连接

      • pyspark shell 中,当shell 启动时,已经自动创建了一个SparkContext 对象,它叫做sc
      • 通常可以用它来创建RDD
    1. pycharm 中使用pyspark

      • File->Settings->Project->Project Structure,选择右侧的Add Content Root

      • 添加spark 目录下的python目录

    1. 带有交互式的 shell,可以用于即时数据分析

      • spark shell 可以与分布式存储在许多机器的内存或者硬盘上的数据进行交互,处理过程由spark 自动控制
      • pyspark shellspark shellpython 版本
    2. 使用pyspark shell:进入spark 的安装目录,然后执行bin/pyspark

      • ubuntu16.04 中默认使用python2.7

      • 退出pyspark shellCTRL+D
    3. 修改pyspark 日志:在conf 目录下创建一个log4j.proerties 的文件。

      • 可以直接使用模板log4j.properties.template,将log4j.rootCategory=INFO,console 修改为log4j.rootCategory=WARN,console
    1. python 中,你需要把独立应用写成python 脚本,然后使用Spark 自带的bin/spark-submit 脚本来运行:

      spark-submit 会帮助我们引入python程序的spark 依赖

    2. 在独立应用中,通常使用下面方法初始化SparkContext

      首先创建一个SparkConf 对象来配置应用,然后基于该SparkConf 来创建一个SparkContext 对象。

      • .setMaster() 给出了集群的URL,告诉spark 如何连接到集群上。这里'local' 表示让spark 运行在单机单线程上。
      • .setAppName() 给出了应用的名字。当连接到一个集群上时,这个值可以帮助你在集群管理器的用户界面上找到你的应用。
    3. 关闭spark 可以调用SparkContext.stop() 方法,或者直接退出应用(如调用System.exit(0) 或者sys.exit()