創建表像

適用於:檢查標記是的磚的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

    創建的表的名稱。必須不包含一個名稱時間規範。如果名字不是合格的當前模式中創建的表。table_name必須已經不存在了。

  • source_table_name

    定義複製的表的名稱。source_table_nametable_name都必須在蜂巢metastore,或兩者聯合目錄。

  • table_clauses

    選擇指定數據源格式、位置和用戶定義的屬性為新表。每個子條款可能隻被指定一次。

    • 位置路徑

      數據存儲路徑的目錄表,這可能是分布式存儲的路徑。如果你指定一個位置,成為一個新表外部表。如果你不指定一個位置,是一個表管理表

      您不能創建外部表的位置重疊的位置管理表。

    • TBLPROPERTIES

      選擇一個或多個用戶定義的屬性集。

    • 使用data_source

      表的文件格式使用。data_source必須的:

      • 文本

      • CSV

      • JSON

      • JDBC

      • 拚花

      • δ

      下列附加文件格式用於表在磚支持運行時:

      • 獸人

      • 蜂巢

      • LIBSVM

      • 自定義實現的完全限定類名org.apache.spark.sql.sources.DataSourceRegister

      如果你不指定使用源表的格式將被繼承。

      以下適用於:磚運行時

      蜂巢支持在磚運行時創建一個蜂巢SerDe表。你可以指定Hive-specificfile_formatrow_format使用選項條款,這是一個不區分大小寫的字符串映射。的option_keys是:

      • FILEFORMAT

      • INPUTFORMAT

      • OUTPUTFORMAT

      • SERDE

      • FIELDDELIM

      • ESCAPEDELIM

      • MAPKEYDELIM

      • LINEDELIM

    • 行格式row_format

      適用於:檢查標記是的磚運行時

      指定一個自定義SerDe,設置SERDE並指定一個自定義的完全限定類名SerDe和可選SerDe屬性。使用本機SerDe,設置分隔並指定分隔符,轉義字符,null字符等等。

      • SERDEPROPERTIES

        鍵值對列表用於標記SerDe定義。

      • 字段終止的

        定義一個列分隔符。

      • 逃跑了

        定義逃避機製。

      • 收集項目終止,

        定義一個集合項目分離器。

      • 地圖鍵終止的

        定義了一個映射鍵分隔符。

      • 行終止,

        定義一個行分隔符。

      • 空定義為

        定義的特定值

      • 存儲為

        表的文件格式。可用的格式包括文本文件,SEQUENCEFILE,RCFILE,獸人,拚花,AVRO。此外,您可以指定自己的輸入和輸出格式INPUTFORMATOUTPUTFORMAT。唯一的格式文本文件,SEQUENCEFILE,RCFILE可以使用格式SERDE,隻文本文件可以使用格式分隔

筆記

根據數據源和目標並不是所有的屬性表可以轉讓。

創建就像是一個三角洲湖表:

特征/屬性

目標是non-Delta表

目標是一個增量表

評論

是的

是的

是的

是的

分區列

是的

是的

配置

沒有

是的

表的約束

不適用

是的

三角洲協議

不適用

是的

創建就像目標是一個三角洲湖表:

特征/屬性

目標是non-Delta表

目標是一個增量表

評論

是的

是的

是的

是的

分區列

是的

是的

配置

是的

是的

表的約束

沒有

是的

三角洲協議

沒有(當前默認協議會話)

是的

例子

——使用一個新的位置創建表>創建Student_Dupli就像學生位置“/ mnt / data_file”;——使用一個數據源創建表像>創建Student_Dupli就像學生使用CSV位置“/ mnt / csv_files”;