创建表像

适用于:检查标记是的砖的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”;