從雪花中讀寫數據
Databricks在Databricks運行時中提供了一個雪花連接器來支持從雪花中讀取和寫入數據。
在“數據庫”中查詢雪花表
您可以配置到雪花的連接,然後查詢數據。下麵的代碼提供了Python、SQL和Scala中的語法示例:
snowflake_table=(火花.讀.格式(“雪花”).選項(“數據表”,table_name).選項(“sfUrl”,database_host_url).選項(“sfUser”,用戶名).選項(“sfPassword”,密碼).選項(“sfDatabase”,database_name).選項(“sfSchema”,schema_name).選項(“sfWarehouse”,warehouse_name).負載())
下降表格如果存在snowflake_table;創建表格snowflake_table使用雪花選項(數據表' <表名稱>”,sfUrl' < database-host-url >”,sfUser“<用戶名>”,sfPassword' <密碼> ',sfDatabase' <數據庫名稱>”,sfSchema' <模式名稱>”,sfWarehouse' < warehouse-name >”);選擇*從snowflake_table;
瓦爾snowflake_table=火花.讀.格式(“雪花”).選項(“數據表”,table_name).選項(“sfUrl”,database_host_url).選項(“sfUser”,用戶名).選項(“sfPassword”,密碼).選項(“sfDatabase”,database_name).選項(“sfSchema”,schema_name).選項(“sfWarehouse”,warehouse_name).負載()
筆記本示例:Spark的雪花連接器
下麵的筆記本提供了如何向雪花寫入數據和從雪花讀取數據的簡單示例。看到使用Spark連接器欲知詳情。具體而言,請參見設置連接器的配置選項所有配置選項。
提示
避免在筆記本電腦中暴露您的雪花用戶名和密碼秘密,這些都在筆記本中進行了演示。
筆記本示例:將模型訓練結果保存到雪花
下麵的筆記本介紹了使用Spark雪花連接器的最佳實踐。它將數據寫入雪花,使用雪花進行一些基本的數據操作,在Databricks中訓練機器學習模型,並將結果寫回雪花。
常見問題(FAQ)
為什麼我的Spark DataFrame列不在雪花中以相同的順序出現?
Spark的雪花連接器不尊重表中被寫入的列的順序;您必須顯式地指定DataFrame和雪花列之間的映射。要指定此映射,請使用columnmap參數.
為什麼整數
寫入雪花的數據讀回為小數
?
雪花代表一切整數
類型數量
,在向雪花寫入數據和從雪花讀取數據時,可能會導致數據類型的變化。例如,整數
數據可以轉換為小數
寫信給雪花,因為整數
而且小數
在《雪花》中語義上是等價的(看到了嗎雪花數字數據類型).