DDL返回的行格式不正确

山塔诺

我的csv数据格式不同,此语法符合预期。但是,当我使用“ Generate create table DDL ”选项时,它不会为行格式返回相同的参数。

原始和正确的行格式:

ROW FORMAT  SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde' 
  WITH SERDEPROPERTIES (
  'serialization.format' = ',',
  'field.delim' = ',',
   "quoteChar"     = "\""
)

由SHOW CREATE TABLE xyz语法生成的行格式:

ROW FORMAT DELIMITED 
  FIELDS TERMINATED BY ',' 
WITH SERDEPROPERTIES ( 
  'quoteChar'='\"') 

我想知道如何找回我最初使用的完全相同的create table语句。

根据

这是不可能的。SHOW CREATE TABLE …最多会为您提供可以实际使用的SQL,但是很多时候它会给您甚至无法运行的内容,更不用说创建表的相同副本了。

您应该改为使用Glue API。使用GetTable检索表结构,修改你需要(名称,数据库,和/或位置,例如),然后用什么CreateTable来创建新表。

是什么SHOW CREATE TABLE …做的是,它会查找胶表元数据,然后做什么它发现到SQL DDL(较差)的转换。您自己进行胶水操作会更好。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章