Как прочитать таблицу улья транзакции орка в спарк?
как прочитать таблицу улья транзакции орка в спарк?
Я столкнулся с проблемой при чтении таблицы транзакций ORC через спарк. Я получаю схему таблицы кустов, но не могу прочитать фактические данные.
Смотрите полный сценарий:
hive> создать таблицу default.Hello(id int,name name строка), кластеризованная (id) в 2 сегмента STORED AS ORC TBLPROPERTIES ('транзакция'='истина');
hive> вставить в значения default.hello (10,'abc');
сейчас я пытаюсь получить доступ к данным Hive Orc из Spark SQL, но он показывает только схему
spark.sql("выбрать * из привет").show()
Вывод: идентификатор, имя
2 ответа
Да, в качестве обходного пути мы можем использовать сжатие, но когда работа выполняется микропакетным уплотнением, это не поможет. поэтому я решил использовать вызов JDBC. Пожалуйста, отправьте мой ответ на этот вопрос по ссылке ниже или перейдите на страницу GIT - https://github.com/Gowthamsb12/Spark/blob/master/Spark_ACID
Искра не сейчас (версия 2.3) полностью совместима с транзакционными таблицами улья. Обходной путь должен сделать сжатие на столе после любой транзакции.
ALTER TABLE Hello COMPACT 'Major';
Это уплотнение должно позволить вам видеть данные. (через некоторое время данные уплотняются)
Вам нужно добавить действие в конце, чтобы заставить его выполнить запрос:
spark.sql("Select * From Hello").show()
(По умолчанию здесь показано 20 строк)
или же
spark.sql("Select * From Hello").take(2)
чтобы увидеть 2 строки выходных данных.
Это только примеры действий, которые могут быть предприняты в DataFrame.