創建表像
適用於:磚的SQL磚運行時
定義一個表使用一個現有的表或視圖的定義和元數據。
三角洲湖支持創建表就像
13.0及以後在磚SQL和磚的運行時。之前磚13.0運行時使用創建表。
語法
創建表(如果不存在]table_name就像source_table_name(table_clauses]table_clauses{使用data_source|位置路徑|TBLPROPERTIES條款|行格式row_format|存儲作為file_format}(…]row_format{SERDEserde_class(與SERDEPROPERTIES(serde_key=serde_val(,…])]|{分隔(字段終止通過fields_terminated_char(逃了出來通過escaped_char]](集合項目終止通過collection_items_terminated_char](地圖鍵終止通過map_key_terminated_char](行終止通過row_terminated_char](零定義作為null_char]}}property_key{標識符(。…]|string_literal}
參數
如果不存在
如果指定如果忽略了聲明
table_name
已經存在。創建的表的名稱。必須不包含一個名稱時間規範。如果名字不是合格的當前模式中創建的表。table_name必須已經不存在了。
定義複製的表的名稱。
source_table_name
和table_name
都必須在蜂巢metastore,或兩者聯合目錄。table_clauses
選擇指定數據源格式、位置和用戶定義的屬性為新表。每個子條款可能隻被指定一次。
位置路徑
數據存儲路徑的目錄表,這可能是分布式存儲的路徑。如果你指定一個位置,成為一個新表外部表。如果你不指定一個位置,是一個表管理表。
您不能創建外部表的位置重疊的位置管理表。
選擇一個或多個用戶定義的屬性集。
使用data_source
表的文件格式使用。
data_source
必須的:文本
CSV
JSON
JDBC
拚花
δ
下列附加文件格式用於表在磚支持運行時:
獸人
蜂巢
LIBSVM
自定義實現的完全限定類名
org.apache.spark.sql.sources.DataSourceRegister
。
如果你不指定
使用
源表的格式將被繼承。以下適用於:磚運行時
蜂巢
支持在磚運行時創建一個蜂巢SerDe表。你可以指定Hive-specificfile_format
和row_format
使用選項
條款,這是一個不區分大小寫的字符串映射。的option_keys
是:FILEFORMAT
INPUTFORMAT
OUTPUTFORMAT
SERDE
FIELDDELIM
ESCAPEDELIM
MAPKEYDELIM
LINEDELIM
行格式row_format
適用於:磚運行時
指定一個自定義SerDe,設置
SERDE
並指定一個自定義的完全限定類名SerDe和可選SerDe屬性。使用本機SerDe,設置分隔
並指定分隔符,轉義字符,null字符等等。SERDEPROPERTIES
鍵值對列表用於標記SerDe定義。
字段終止的
定義一個列分隔符。
逃跑了
定義逃避機製。
收集項目終止,
定義一個集合項目分離器。
地圖鍵終止的
定義了一個映射鍵分隔符。
行終止,
定義一個行分隔符。
空定義為
定義的特定值
零
。存儲為
表的文件格式。可用的格式包括
文本文件
,SEQUENCEFILE
,RCFILE
,獸人
,拚花
,AVRO
。此外,您可以指定自己的輸入和輸出格式INPUTFORMAT
和OUTPUTFORMAT
。唯一的格式文本文件
,SEQUENCEFILE
,RCFILE
可以使用行格式SERDE
,隻文本文件
可以使用行格式分隔
。