在hue(oozie)上提交pyspark

2 篇文章 0 订阅
1 篇文章 0 订阅

因为需要使用python的一些库,不得不使用pyspark。在这里记录下遇到的问题。

本地开发环境,网上比较容易查到,这里就不写了。

这里主要说线上提交的依赖问题。

这里是用hue提交,主要有以下几个步骤:

1、将所有的依赖打成zip包

2、使用sc.addPyFiles(path)或者是sc.addPyFile(path)(ps:不同版本写法不同)将依赖加入环境

3、在代码中在初始化sc后,写入下面代码。

def import_my_special_package(x):
  import my.special.package
  return x

int_rdd = sc.parallelize([1, 2, 3, 4])
int_rdd.map(lambda x: import_my_special_package(x))
int_rdd.collect()

另外如果在main函数使用了第三方依赖,也需要在初始化sc之后把引入写出来。不然在执行driver的时候找不到依赖。

4、在引用依赖写,路径写完整。

demo如下

def import_my_special_package(x):
    import HBaseUtil
    return x

def main():
    host = 'xx.xx.xx.xx'
    conf = SparkConf()
    conf.set("hbase.zookeeper.quorum", host)

    sc = SparkContext(master="local", appName="local", conf=conf)
    int_rdd = sc.parallelize([1,2,3,4])
    int_rdd.map(lambda x:import_my_special_package(x))
    sc.addPyFile("hdfs:ip/tmp/xx.zip")
    
    import util.HBaseUtil
    HBaseUtil.write_hbase_drict()

    sc.stop()

if __name__ == "__main__":
    main()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值