Spark sql возвращает пустой фрейм данных при чтении управляемой таблицы куста - PullRequest
0 голосов
/ 24 сентября 2019

Используя Spark 2.4 и Hive 3.1.0 в HDP 3.1, я пытаюсь прочитать управляемую таблицу из куста с помощью spark sql, но она возвращает пустой фрейм данных, хотя легко может прочитать внешнюю таблицу.Как я могу прочитать управляемую таблицу из улья по искру sql?

Примечание: измененная таблица куста при чтении с использованием клиента улья не пуста.

1- Я попытался отформатировать таблицу с помощью ORC для паркета, и в обоих случаях произошел сбой.

2- Мне не удалось прочитать его с помощью HWC.

3- Мне не удалось прочитать его при использовании JDBC.

os.environ["HADOOP_USER_NAME"] = 'hdfs'

spark = SparkSession\
    .builder\
    .appName('NHIC')\
    .config('spark.sql.warehouse.dir', 'hdfs://192.168.1.65:50070/user/hive/warehouse')\
    .config("hive.metastore.uris", "thrift://192.168.1.66:9083")\
    .enableHiveSupport()\
    .getOrCreate()

HiveTableName ='nhic_poc.nhic_data_sample_formatted'
data = spark.sql('select * from '+HiveTableName)

Ожидается, что фрейм данных будет возвращен с данными, но на самом делекадр данных пуст.

1 Ответ

0 голосов
/ 25 сентября 2019

Не могли бы вы проверить, не слишком ли сконфигурирована ваша искровая среда?

Попробуйте запустить код с конфигурациями среды по умолчанию, удалив из кода следующие строки:

os.environ["HADOOP_USER_NAME"] = 'hdfs'

.config('spark.sql.warehouse.dir', 'hdfs://192.168.1.65:50070/user/hive/warehouse')

.config("hive.metastore.uris", "thrift://192.168.1.66:9083")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...