0

Je suis en train de lire les données stockées dans Kudu en utilisant PySpark 2.1.0Kudu avec PySpark2: Erreur avec 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() 

Je Kudu 1.2.0 installé sur le cluster. Ce sont des tables de ruche/Impala.

Lorsque j'exécute la dernière ligne, je reçois l'erreur suivante:

. 
. 
. 
: 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 

Je me réfère aux ressources suivantes:

Je suis intéressé de savoir comment je peux inclure les dépendances liées Kudu dans mon programme de pyspark pour que je puisse aller au-delà de cette erreur.

Répondre

0

La façon dont je résolu cette question était de passer le pot respectif pour Kudu-étincelle à la coquille de pyspark2 ou à la commande spark2 soumettre

+0

Je vais avoir le même problème, et je ne peux pas le faire fonctionner . Pourriez-vous partager votre code? J'ai passé le fichier kudu-spark2 jar à pyspark2, sparkcontext est créé correctement en tant que variable spark. Mais quand j'essaye de 'spark.sql (...). Show()' je reçois 'Erreur lors du chargement du stockage handler.com.cloudera.kudu.hive.KuduStorageHandler' – Susensio

+0

Le code reste le même que ci-dessus. La seule différence est que je fournis le paquet maven en fonction de mes configurations: https://mvnrepository.com/artifact/org.apache.kudu/kudu-spark2_2.11 En tant que code d'assistance: https://github.com/ asarraf/KuduPyspark/blob/maître/kuduspark2.template.py –