Hive笔记二之数据类型,加载方式与hdfs对应关系

数据类型

读写模式

数据库加载数据分为读模式和写模式,hive属于读模式。

读模式:加载数据时不对数据合法性进行检验,查询时不合法的数据显示为null,优点是加载数据速度快适合大数据。

写模式:加载数据时对数据合法性进行检验。优点是不必担心数据库中的数据不合法,传统的数据库如mysql,oracle就是此种模式。

例1,创建一个hive表t1并导入数据

创建一张表


创建一个文件


导入数据并显示


将文件t1的数据导入hive中的表t1,实际上文件中的每一行数据都只导入到了t1表的id字段中,而name和online字段并未导入数据这是因为数据不合法没有指定分隔符,但是hive在加载数据时为读模式所以它并未检验合法性,而显示时用null来填充name和online字段。



分隔符

之前在上一节中介绍hive在创建表时必须指定行列分隔符,不指定则使用默认的分隔符,默认的行分隔符为’\n’,列分隔符为’\001’这是一个不可见字符。

例2:创建一个hive表t2并指定分隔符然后导入数据

创建一个文件包含创建语句然后在hive中执行

[root@shb01 data]# more t2_hql.hql

create table t2(

id string,

name string,

online boolean)

row format delimited

fields terminated by '\t'

lines terminated by '\n';

 

hive> source /usr/local/data/t2_hql.hql;

OK

Time taken: 0.116 seconds

 

 

创建一个数据文件

[root@shb01 data]# more t2_data

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值