从本地文件系统中导入数据到Hive表,并查数导出成文件

(1)先在Hive里面创建好表(需要在hive命令行执行)

create  table  lsl(id string, sex  int,order  string, tel  string,fee  int,age  int)

ROW  FORMAT  DELIMITED

FIELDS  TERMINATED BY ‘\t’

STORED  AS  TEXTFILE;

 

(2)由于txt文件中的数据列之间是使用\t分割的,可以通过下面的语句将这个文件里面的数据导入到lsl表里面(需要在hive命令行执行)

load data local inpath ‘lsl.txt’ into table lsl;

 

(3)将sql查出的数据,导出成cvs格式文件(直接在linux命令行执行)

hive -e “SELECT * FROM tableName p ” >/home//lsl/20170928.csv;

(4)由于导出的数据是用tab分割的字符串,所以还需要将生成的csv文件导入到一个新的csv中,使用tab分割方式导入,步骤如下图。

打开一个新的csv文件,并找到数据->自文本,然后选择需要导入的原始csv文件。

csv1

原始数据是由分隔符分隔的文本,可以看到导入文件内容,直接下一步。

csv2

选择分隔方式,使用tab键分隔文本内容,然后可看到分隔后的效果,然后直接下一步

csv3

选择每一列单元格的类型,以防字符转数字类型会去掉首位的0,然后直接完成。

csv4

然后有个确认输出位置的步骤,直接确认,即可获得可读的数据内容。

 

欢迎留言