>  기사  >  데이터 베이스  >  Hive导入和导出数据

Hive导入和导出数据

WBOY
WBOY원래의
2016-06-07 17:12:091871검색

hive默认的字符编码是utf8格式,所以用utf8模式存储的数据都是可以正常显示的,如果用ssh客户端工具查看时仍是乱码,这可能是你的

hive官方提供两种导入数据的方式

1 从表中导入:

insert overwrite table test

select * from test2;

2 从文件导入:

2.1 从本地文件导入:

load data local inpath '/Hadoop/aa.txt' overwrite into table test11

2.2  从hdfs导入

load data inpath '/hadoop/aa.txt' overwrite into table test11

3 导入文件的列划分

在建表的时候可以指定划分的字符 如:

create table test11(id int,name string)

row format delimited

fields terminated by '\;' 以分号划分文件的列这样导入的数据文件就如同 1;张三 这种格式。

4 到出数据

一般用 :bin/hive -e "select * from test" >> res.csv

或者:bin/hive -f sql.q >> res.csv (其中文件sql.q写入你想要执行的查询语句)

5 中文乱码问题

hive默认的字符编码是utf8格式,所以用utf8模式存储的数据都是可以正常显示的,如果用ssh客户端工具查看时仍是乱码,这可能是你的客户端工具的编码方式决定的,以secureCRT为例,修改 session options -》apperance (这样不影响其他session的编码方式),,当然 linux系统也需要做一下简单的支持utf8的设置(这个一般都支持)

linux

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.