在使用excel导入文件进入hive的时候,一切顺利,但是导入后查询数据,发现数据量变多了,比如:一开始excel中的数据量是8000条,导入hive后,查询的数据变成10000多条,数据量在导入后变多了。于是查找原因
首先从hive建的表开始查起,表的建表语句如下下所示:
create table if not exists TMP_T1
(
T1 VARCHAR(100) comment 't1',
T2 VARCHAR(100) comment 't2',
T3 VARCHAR(100) comment 't3'
)
COMMENT '临时表1'
ROW FORMAT DELEMITED
FIELDS TERMINATED BY '\001'
LINES TERMINATED BY '\n'
STORED AS Parquet;
从建表语句中就可以看到,这个表的数据的列分隔符是'\001',行的分隔符是'\n',在我们导入数据后会按照这样的分割格式进行分割和存储。如果我们的数据如下所示:
| id | col1 |
| 1 | 测试1 的结果 |
| 2 | 测试2的结果 |
上面的格式导入到hive中,hive查询出来的数据是怎么样的呢?
| id | col1 |
| 1 | 测试1 |

在将Excel数据导入Hive时,数据量不匹配,原本8000条变为10000多条。原因是Excel中的换行符在Hive中被解析为新行。解决方法是在Excel中使用CLEAN()函数去除换行符,然后将处理后的数据粘贴为数值,避免函数公式影响。
最低0.47元/天 解锁文章
1706

被折叠的 条评论
为什么被折叠?



