2017-08-24 52 views
0

我试图用PySpark 2.1.0捻与PySpark2:错误KuduStorageHandler

>>> from os.path import expanduser, join, abspath 
>>> from pyspark.sql import SparkSession 
>>> from pyspark.sql import Row 
>>> spark = SparkSession.builder \ 
     .master("local") \ 
     .appName("HivePyspark") \ 
     .config("hive.metastore.warehouse.dir", "hdfs:///user/hive/warehouse") \ 
     .enableHiveSupport() \ 
     .getOrCreate() 
>>> spark.sql("select count(*) from mySchema.myTable").show() 

读取存储在捻数据我有捻1.2.0集群上安装。这些是配置单元/ Impala表。

当我执行最后一行,我得到以下错误:

. 
. 
. 
: java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException: Error in loading storage handler.com.cloudera.kudu.hive.KuduStorageHandler 
. 
. 
. 
aused by: org.apache.hadoop.hive.ql.metadata.HiveException: Error in loading storage handler.com.cloudera.kudu.hive.KuduStorageHandler 
    at org.apache.hadoop.hive.ql.metadata.HiveUtils.getStorageHandler(HiveUtils.java:315) 
    at org.apache.hadoop.hive.ql.metadata.Table.getStorageHandler(Table.java:284) 
    ... 61 more 
Caused by: java.lang.ClassNotFoundException: com.cloudera.kudu.hive.KuduStorageHandler 

我指的是以下资源:

我想知道我怎么能包括捻相关的依赖到我pyspark程序,这样我可以搬过去这个错误。

回答

0

我解决这个问题的办法是为捻火花各自罐传递给pyspark2壳或到spark2提交命令

+0

我有同样的问题,我不能让它开始工作。你能分享你的代码吗? 我已经通过kudu-spark2 jar到pyspark2,sparkcontext被正确创建为'spark'变量。但是,当我尝试'spark.sql(...)。show()'我得到'加载存储处理程序时出错handler.com.cloudera.kudu.hive.KuduStorageHandler' – Susensio

+0

代码与上面相同。唯一的区别是我根据我的配置提供了maven包:https://mvnrepository.com/artifact/org.apache.kudu/kudu-spark2_2.11 作为帮手代码:https://github.com/ asarraf/KuduPyspark /斑点/主/ kuduspark2.template.py –