learn and grow up

hive存储换行符等特殊字符

字数统计: 119阅读时长: 1 min
2019/08/06 Share

etl抽取oracle数据到hive库中的时候,oracle表中如果有换行符如:‘\n\r’,会造成当前行的数据错位。

原来是因为hive默认的存储方式是textfile,这种方式不支持存储换行符。

方案一、替换这些特殊字符:

1
regexp_replace(t.test, '\n|\t|\r', '')

方案二、修改表的存储格式为:parquet

1
2
3
4
5
6
7
8
9
10
drop table if exists test_table;
create table test_table(
create_by string comment '',
create_time date comment '',
update_by string comment '',
update_time date comment ''
)
comment 'test_table'
partitioned by(inc_day string)
stored as parquet;
CATALOG