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:
https://spark.apache.org/docs/latest/sql-programming-guide.html#hive-tables
https://github.com/bkvarda/iot_demo/blob/master/total_data_count.py
https://kudu.apache.org/docs/developing.html#_kudu_python_client
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.
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
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 –