Таблица данных Delta и Hive Transactional Table

Я видел из двух источников, что сейчас вы не можете каким-либо образом взаимодействовать с транзакционными таблицами HIVE от Spark.

Улей КИСЛОТА

Таблицы транзакций Hive не читаются искрой

Я вижу, Databricks выпустил транзакционную функцию под названием Databricks Delta. Можно ли теперь читать транзакционные таблицы HIVE, используя эту функцию?

1 ответ

Нету. Не Hive Транзакционные таблицы. Вы создаете новый тип таблицы с именем Delta Table из Databricks (Spark table of parquets) и используете метастову Hive для чтения / записи в эти таблицы.

Это своего рода Внешняя таблица, но она больше похожа на данные схемы. Больше искры и паркета.

Решением вашей проблемы может быть чтение файлов кустов и наложение схемы соответствующим образом в записной книжке Databricks, а затем сохранение ее в виде дельта-таблицы databricks. как это: df.write.mode('overwrite').format('delta').save(/mnt/out/put/path)Вам все равно нужно написать DDL, указывающий на это местоположение. Просто таблица FYI DELTA является транзакционной.

Я не вижу смысла делать упор только на Spark для доступа к Hive ACID.

На самом деле Spark полагается на основной язык, наиболее популярными из которых являются Python и Scala.

Вы можете без проблем использовать Hive ACID из Python, это очень хорошо зарекомендовавшая себя интеграция.

Ваши данные могут находиться в фреймах данных Spark или RDD, но если вы можете передавать их в стандартные структуры данных Python, вы можете взаимодействовать с Hive ACID непосредственно из них.

Другие вопросы по тегам