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文件的路径添加进去,如截图:

    在这里插入图片描述

    在这里插入图片描述

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

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

    在这里插入图片描述

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

    在这里插入图片描述

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

    在这里插入图片描述

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

在这里插入图片描述

  • 配置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模块,如图

    在这里插入图片描述

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

    在这里插入图片描述

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

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

    在这里插入图片描述

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

    在这里插入图片描述

  • 在新建的笔记本中,编写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()
    
  • 结果如截图

    在这里插入图片描述

五、 总结

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值