pyspark 读取kudu表
背景:
有一个pyspark程序需要读取kudu表的数据。数据存储在kudu中,使用impala的话也不好读取kudu表中的数据—有一个kerberos认证的过程,阻碍了数据的读取。另外当前版本的hive是没有做针对kudu相关的配置。所以也无法使用hive去读取kudu表的数据。
解决办法
参考: kudu的官方文档
针对spark读取kudu的方式:
引入kudu-spark2_2.11,jar
- scala 可以通过maven的pom配置映入这个依赖包
- pyspark可以通过提交任务的时候在提交脚本里面使用–jars可以使用
scala的方式:
val df = spark.read
.options(Map("kudu.master" -> "kudu.master:7051", "kudu.table" -> "kudu_table"))
.format("kudu").load
pyspark这么写:
def read_kudu_table(kudu_master,table_name):
return spark.read.format("org.apache.kudu.spark.kudu")\
.option("kudu.table",table_name)\
.option("kudu.master",kudu_master)\
.load()
这样就可以使用pyspark读取kudu表的数据了。
总结
有需要的同学们可以拿去参考一下,有什么更好的建议可以在下方留言哦,谢谢大佬们~