java .lang.ClassNotFoundException: не удалось найти источник данных: org. apache .had oop .hbase.spark, когда pyspark прочитал таблицу hbase - PullRequest
0 голосов
/ 06 января 2020

Я использую pyspark для чтения таблицы hbase как фрейма данных, но все пошло не так:

sc = SparkContext(master="local[*]", appName="test")
spark = SparkSession(sc).builder.getOrCreate()
df = spark.read.format('org.apache.hadoop.hbase.spark') \
    .option('hbase.table', 'h_table') \
    .option('hbase.columns.mapping',
            'life_id STRING :key, score STRING info:total_score') \
    .option('hbase.use.hbase.context', False) \
    .option('hbase.config.resources', 'file:///home/softs/hbase-2.0.5/conf/hbase-site.xml') \
    .option('hbase-push.down.column.filter', False) \
    .load()

df.show()

показывает: java.lang.ClassNotFoundException: Failed to find data source: org.apache.hadoop.hbase.spark. Please find packages at http://spark.apache.org/third-party-projects.html

Я следовал за демонстрацией

1 Ответ

1 голос
/ 11 января 2020

Зависимость не упакована с вашим JAR. Используйте —packages флаг spark-submit, чтобы указать uri соединителя, который вы используете, если вы не используете sh для упаковки зависимости в вашем проекте

и добавьте следующее строки вашей команды spark-submit:

--packages com.hortonworks:shc-core:1.1.1-2.1-s_2.11 --repositories http://repo.hortonworks.com/content/groups/public/

и она должна работать.

...