博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python组件调用spark组件开发
阅读量:4163 次
发布时间:2019-05-26

本文共 1548 字,大约阅读时间需要 5 分钟。

作者: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 【其安装参考】
  • Anaconda【其安装参考】
  • iobjects for java 912 组件
  • iobjects for spark 912 组件
二、超图java组件配置
  • 下载组件,并解压。

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

    在这里插入图片描述

    在这里插入图片描述

三、超图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/pythonexport PYSPARK_PYTHON=/E:/ProgramFiles/Anaconda3export PYSPARK_DRIVER_PYTHON=/E:/ProgramFiles/Anaconda3export PYSPARK_SUBMIT_ARGS='--master local[*]'
  • 进入解压后的iobjects for spark组件的bdtpy目录,进行安装bdtpy模块,如图

    在这里插入图片描述

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

    在这里插入图片描述

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

四、验证开发
  • 非系统磁盘目录下启动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参考。

转载地址:http://zupxi.baihongyu.com/

你可能感兴趣的文章
CMFCControlRendererInfo类的参数
查看>>
史上最详细MFC调用mapX5.02.26步骤(附地图测试GST文件)
查看>>
CMFCShellListCtrl使用方法
查看>>
mapnik的demo运行
查看>>
python支持下的mapnik安装
查看>>
milvus手册
查看>>
多目标跟踪的简单理解
查看>>
Near-Online Multi-target Tracking with Aggregated Local Flow Descriptor
查看>>
Joint Tracking and Segmentation of Multiple Targets
查看>>
Subgraph Decomposition for Multi-Target Tracking
查看>>
JOTS: Joint Online Tracking and Segmentation
查看>>
CDT: Cooperative Detection and Tracking for Tracing Multiple Objects in Video Sequences
查看>>
Improving Multi-frame Data Association with Sparse Representations for Robust Near-online Multi-ob
查看>>
Virtual Worlds as Proxy for Multi-Object Tracking Analysis
查看>>
Multi-view People Tracking via Hierarchical Trajectory Composition
查看>>
Online Multi-Object Tracking via Structural Constraint Event Aggregation
查看>>
The Solution Path Algotithm for Identity-Aware Multi-Object Tracking
查看>>
Groupwise Tracking of Crowded Similar-Appearance Targets from Low-Continuity Image Sequences
查看>>
CDTS: Collaborative Detection, Tracking, and Segmentation for Online Multiple Object Segmentation
查看>>
Deep Network Flow for Multi-Object Tracking
查看>>