创建表像
适用于:砖的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
,只文本文件
可以使用行格式分隔
。