当我在create table中使用它时,我所拥有的数据由'¬'分隔我将错误视为无效字符。我尝试使用它的unicode版本'\ U00AC',但没有使用所有记录在第一个字段中被摄取。在unix中,这个字符'¬'显示为�。 任何人都可以指导我在截面上终止的字段中使用什么。
CREATE TABLE IF NOT EXISTS test
(
CONTACT_RECORD_ID string,
ACCOUNT string,
CUST string,
NUMBER string,
NUMBER1 string,
NUMBER2 string,
NUMBER3 string,
NUMBER4 string,
NUMBER5 string,
NUMBER6 string,
NUMBER7 string,
LIST string
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '¬';
答案 0 :(得分:0)
请你试试这个DDL。
CREATE TABLE IF NOT EXISTS test
(
CONTACT_RECORD_ID string,
ACCOUNT string,
CUST string,
NUMBER string,
NUMBER1 string,
NUMBER2 string,
NUMBER3 string,
NUMBER4 string,
NUMBER5 string,
NUMBER6 string,
NUMBER7 string,
LIST string
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
WITH SERDEPROPERTIES ('empty.string.null'='true','field.delim'='\0AC','serialization.format'='\0AC','serialization.null.format'='')
STORED AS INPUTFORMAT
'org.apache.hadoop.mapred.TextInputFormat'
OUTPUTFORMAT
'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat';
答案 1 :(得分:0)
如果你有csv格式的数据,你可以使用Hadoop/Hive : Loading data from .csv on a local machine中的这个工具轻松地将数据导出到Hadoop。