python组件调用spark组件开发

作者:Neshoir

   Spark框架支持多语言的开发环境,其中也包括python语言的spark开发。超图的iobjects for spark组件也同样提供了主流的scala及python语言环境的开发,产品包里的bdtpy就是iobjects for spark产品的python api,使用bdtpy可以基于spark分布式计算框架进行空间数据的处理和分析。本重点介绍如何使用python进行开发。

一、环境准备
  • 以windows系统为例
  • jdk 1.8 【已配置】
  • spark 2.1.1 【其安装参考spark配置】
  • Anaconda【其安装参考Anaconda安装】
  • iobjects for java 912 组件
  • iobjects for spark 912 组件
二、超图java组件配置
  • 下载组件iobjects for java,并解压。

  • 配置系统path环境变量,将java组件的bin文件的路径添加进去,如截图:

    python组件调用spark组件开发_第1张图片

    python组件调用spark组件开发_第2张图片

三、超图spark组件配置
  • 下载组件iobjects for spark,并解压。

  • 配置spark 2.1.1的环境,添加SPARK_HOME变量,并将spark 2.1.1的路径作为值。如图

    python组件调用spark组件开发_第3张图片

  • 配置环境变量PYTHONPATH,将SPARK_HOME相关的值添加进入,如图

    python组件调用spark组件开发_第4张图片

  • 因为安装的是conda环境,所以需要配置PYSPARK_DRIVER_PYTHON和PYSPARK_DRIVER_PYTHON_OPTS变量。如图

    python组件调用spark组件开发_第5张图片

  • 将conda的相关变量添加到系统path里,如图

python组件调用spark组件开发_第6张图片

  • 配置spark 2.1.1的pyspark使用环境,编辑spark-env.sh文件,添加以下内容:

    # 改为您机器环境的实际路径
    export PYTHONPATH=D:/ProgramFiles/Spark_Dev/spark-2.1.1-bin-hadoop2.7/python
    export PYSPARK_PYTHON=/E:/ProgramFiles/Anaconda3
    export PYSPARK_DRIVER_PYTHON=/E:/ProgramFiles/Anaconda3
    export PYSPARK_SUBMIT_ARGS='--master local[*]'
    
  • 进入解压后的iobjects for spark组件的bdtpy目录,进行安装bdtpy模块,如图

    python组件调用spark组件开发_第7张图片

  • 进入解压后的iobjects for spark组件的lib目录,将core包拷贝到spark 2.1.1的jars目录下,以方便与库的加载,如截图

    python组件调用spark组件开发_第8张图片

  • 最后记得配置9D java组件的试用许可。

四、验证开发
  • 非系统磁盘目录下启动notebook,命令如截图

    python组件调用spark组件开发_第9张图片

  • 启动后,进入notebook 首页 ,点击“NEW”—“python 3”,新建一个记事本,如图

    python组件调用spark组件开发_第10张图片

  • 在新建的笔记本中,编写python代码,以读取udb为入门示例,代码如下:

    # 导入spark对
    from pyspark.sql import SparkSession
    # 初始化spark对象
    ss = SparkSession.builder.appName("测试pyspark集群").getOrCreate()
    # 导入bdtpy中函数
    from bdtpy import read_udb
    # 通过pyspark读取udb里数据集
    regionRdd = read_udb(ss.sparkContext, 'E:/2019work/2019meet/AndroidAI/AI/数据/测试真实导航室内外数据/jia.udb', 'n_f1_line', 8)
    # 计算数据集的记录数量
    regionRdd.count()
    
  • 结果如截图

    python组件调用spark组件开发_第11张图片

五、 总结

关于conda及notebook的使用可以查查官方的教程。对于bdtpy组件的api使用可以参考doc目录的api参考。

你可能感兴趣的:(大数据)