#python #apache-spark #snowflake-cloud-data-platform #databricks #azure-data-lake-gen2
Вопрос:
Кто-нибудь знает, можно ли установить таблицу снежинок в качестве внешней таблицы в метасторе databricks hive?
Я работаю над проектом, в котором у нас есть несколько таблиц в Azure Data Lake Gen 2, и мы управляем ими из баз данных. Чтобы иметь возможность запрашивать таблицы из баз данных, необходимо добавить их в существующую базу данных в метасторе databricks hive. Синтаксис выглядит следующим образом:
CREATE TABLE IF NOT EXISTS lt;DATABASEgt;.lt;TABLE_NAMEgt; USING DELTA LOCATION lt;PATH_TO_TABLEgt;
Теперь мне нужно сделать то же самое с некоторыми таблицами, которые у нас есть в snowflake. Я могу переносить таблицы в базы данных с помощью spark connector.
sfOptions = { "sfURL" : "lt;accountgt;.snowflakecomputing.com", "sfUser" : "lt;usergt;", "sfPassword" : "lt;passwordgt;", "sfDatabase" : "lt;databasegt;", "sfRole": "lt;rolegt;", "sfWarehouse" : "lt;clustergt;" } df = spark.read.format("net.snowflake.spark.snowflake") .option("column_mapping","name") .options(**sfOptions) .option('dbtable', "lt;schemagt;.lt;table_namegt;").load()
Я также могу запрашивать таблицы снежинок из баз данных с помощью python snowflake connector следующим образом:
import snowflake.connector # Set options below sfOptions = { "account" : "lt;accountgt;", "user" : "lt;usergt;", "password" : "lt;passwordgt;", "database" : "lt;databasegt;", "role": "lt;rolegt;", "warehouse" : "lt;warehousegt;" } ctx = snowflake.connector.connect(**sfOptions) cs = ctx.cursor() cs.execute(query)
Но то, что мне нужно сделать, немного отличается. Мне нужно использовать таблицы snowflake в качестве внешних таблиц databricks, потому что я хочу объединить их с таблицами delta lake, запрашивая непосредственно из записной книжки databricks.
Заранее спасибо.
Комментарии:
1. под «запросом непосредственно из записной книжки databricks» вы подразумеваете написание
%sql
и чтение таблицы снежинок напрямую?2. Да, именно так.