2016-07-10 30 views
-1

使用以下命令在配置单元中创建表,但发生错误。无法在Hive中为csv文件创建表

CREATE TABLE TestData (id1 int, id2 int, id3 int, id4 String) ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘,’ stored as textfile; 

错误

FAILED: ParseException line 1:106 mismatched input ',' expecting StringLiteral near 'BY' in table row format's field separator 

我已经试过 '\ 054' 而不是 '',但没有工作。

+0

问题的最可能的原因是“”是不正确的 –

回答

0

你并没有提到如何行分开..

编辑: 即行

0

大多数时候事情是不睁只眼可见的,可通过vi编辑器中可以看出; )。有命令control characters

cat -v file.txt 
    CREATE TABLE TestData (id1 int, id2 int, id3 int, id4 String) ROW FORMAT DELIMITED 
FIELDS TERMINATED BY M-bM-^@M-^X,M-bM-^@M-^Y stored as textfile; 

解决方案 - 不要复制粘贴命令,只需键入它。

0

字符串类型包含hive中的两种数据类型:VARCHAR和CHAR。 而不是字符串使用VARCHARCHAR作为数据类型,因为这将解决您的问题。

*在指定varchar时也不要忘记提及大小。

例子:CREATE TABLE TestData (id1 int, id2 int, id3 int, id4 varchar (65355)) ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘,’ stored as textfile;

+0

它不能解决问题,直到垃圾字符在那里查询。 – syadav