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

本文介绍了Hive的数据类型,包括读写模式、分隔符、基本数据类型和复杂数据类型,如Array、Map、Struct。同时,详细阐述了Hive中库、表与HDFS的对应关系,以及数据加载的不同方法,如`load data`、`insert`等。
摘要由CSDN通过智能技术生成

数据类型

读写模式

数据库加载数据分为读模式和写模式,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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值