我的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] 删除。
我来说两句