hive的数据导入与数据导出:(本地,云hdfs,hbase),列分隔符的设置,以及hdfs上传给pig如何处理

本文详细介绍了Hive的数据导入与导出操作,包括内部表和外部表的创建、数据源的指定,以及列分隔符的设置。在数据导入时,可通过LOAD DATA命令从本地或HDFS导入数据,而数据导出则涉及多种方式,如导出到其他Hive表、本地和HDFS。对于Hbase数据,可以通过创建外部表进行导入。文章还讨论了Hive与Pig的数据交互问题,特别是Hive导出的默认分隔符在Pig中无法直接读取的问题及其解决方案。
摘要由CSDN通过智能技术生成

hive表的数据源有四种:

hbase

hdfs

本地

其他hive表

 

而hive表本身有两种:

内部表和外部表。

而hbase的数据在hive中,可以建立对应的外部表(参看hive和hbase整合)

 

内部表和外部表

区别:删除时,内部表删除hadoop上的数据;而外部表不删,其数据在外部存储,hive表只是查看数据的形式,看时从外部读入数据:

  内部表:CREATETABLE tab(column1 STRING, column2 STRING);

 
外部表:用EXTERNAL 关键字,且
必须在表结尾指定如下参数

CREATE EXTERNAL TABLE  tab

(column1 STRING,

 column2 STRING

)

  ROW FORMAT DELIMITED FIELDS TERMINATED BY'\t'

stored as textfile

location 'hdfs://namenode/tmp/lmj/tab/';

 

分隔符的指定

有两种方式

(1)DELIMITED方式:

ROW FORMAT DELIMITED

[FIELDS TERMINATED BY char]

[COLLECTION ITEMS TERMINATED BY char]

[MAP KEYS TERMINATED BY char]

[LINES TERMINATED BY char]


(2)SERDE方式:

SERDE serde_name [WITH SERDEPROPERTIES(property_name=property_value, property_name=property_value, ...)]

其中,[ROW FORMAT DELIMITED]关键字,是设置建表时加载数据所支持的列分隔符;

如果没有指定 ROW FORMAT 或者 ROW FORMAT DELIMITED,则会自动使用自带的 SerDe。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值