Greenplum或DeepGreen中使用外部表访问Hive数据(分隔符是Hive表默认列分隔符)

来源:互联网 发布:淘宝快递盒上会有 编辑:程序博客网 时间:2024/05/16 11:53

在Greenplum或DeepGreen中,使用外部表访问Hive表的数据,并且文件数据的列分隔符是Hive默认的方式'\001'。

1. 查看数据(Hive默认列分隔符实际打印不可见,但是使用vi编辑器时,显示^A,可以通过先按Ctrl V ,再按A来输出)

[gpadmin@JSZ ~]$ cat ok.txt 

1^ASpark
2^AHadoop


2. 在Hive中创建表,包括并加载数据

hive> create table ok(id int,name string) row format delimited fields terminated by '\001' stored as textfile;
hive> load data local inpath '/home/gpadmin/ok.txt' into table ok;


3. 在GP中创建外部表,并通过gphdfs协议读取HDFS上的数据文件

create external table ok (id int,name text) location ('gphdfs://JSZ:8020/user/hive/warehouse/ok') format 'TEXT' (DELIMITER E'\001');

注释:对于分隔符为多个的,需要使用E来指定。

 

4. 在GP中查看外部表数据

zhangyundb=# select * from ok;
select co id |  name  
----+--------
  1 | Spark
  2 | Hadoop


0 0