我正在尝试使用以下命令创建管道分隔的配置单元表:
CREATE TABLE IF NOT EXISTS tableA (
id string,
col1 double,
col2 double,
col3 double,
col4 double,
col5 double,
col6 double,
col7 double
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '|'
tblproperties ("skip.header.line.count"="1");
INSERT INTO TABLE TABLEA
select a.id
b.col1,
b.col2,
b.col3,
b.col4,
b.col5,
b.col6,
b.col7
FROM customerTable as a left join factTable as b on a.id = b.id;
我在新表中得到了重复的记录,tablea。我查过了
select count(distinct id) as cnt from tableA ;
但是如果我像这样创建一个普通的配置单元表,我不会得到任何重复的ID:
Create table if not exists tableA as
select a.id
b.col1,
b.col2,
b.col3,
b.col4,
b.col5,
b.col6,
b.col7
FROM customerTable as a left join factTable as b on a.id = b.id;
创建的表按8000万行的顺序排列,但记录数(重复记录)的差异只有58条记录。
不知道发生了什么。我想问题在于如何创建以管道分隔的配置单元表。任何帮助都将不胜感激。
1条答案
按热度按时间9gm1akwq1#
删除tblproperty(“skip.header.line.count”=“1”);属性,然后再次运行insert语句。