Hive编程指南学习笔记-1

基础操作部分

1.Hive安装

在学习中,不应该反复的困在安装软件中,应该更多的把精力放在应用和原理方面.这里省略了安装的整理.
(实验环境使用打包好的大数据软件环境,Hive使用本地模式.)

note:hive使用本地模式会运行的更快,可以设置属性来测试.

(支持在分布式或者伪分布式下的场景)
sethive.exec.mode.local.auto=true

1.1 测试Hadoop

hadoop dfs -ls / 
hadoop jar demo.jar wc_in wc_out
hadoop dfs -cat wc_out/

1.2 启动Hive

Hive支持命令行CLI运行.(hive)

hive -help

#hive一次使用
hive -e "select * from dual;"
hive -s -e  "select name from dual;" > /demo #把结果写到一个文件里面.(-S 开启静默模式)

#从文件中执行Hive查询
hive -f test.hql

#Hive支持Tab补全快捷键
#查看操作历史:$HOME/.hivehistory (存最近的100条)

#执行shell命令
hive> !/bin/echo "Hello";
hive> ! pwd
#执行Hadoop dfs命令
hive>dfs -ls /
#hive脚本注释:--

# 显示字段名称:set hive.cli.print.header=true 
# 如果需要长期显示,键入配置文件.hiverc

2.数据类型和文件格式

2.1 基本数据类型

数据类型长度备注
tinyint1byte
smailint2byte
int4byte
bigint8byte
boolean布尔
float单精度浮点数
double双精度浮点数
string字符序列
timestamp时间戳
binary字节数组

说明:

  1. 这些都是保留关键词.
  2. 这些都在对应的java数据类型.
  3. 工作中较多用到的是string,bigint,double,(Hadoop和hive中,强调优化磁盘的读写性能,对数据的长度限制不是很强)
  4. CAST,类型转换

2.2 集合数据类型

数据类型长度备注
structstruct(‘Jon’,‘DOe’)
mapmap(“name”,yxy",“Age”,“12”)
arrayArray(“Jon”,“Bool”)

说明:在工作的时候,遇到的这个次数不多,暂时跳过这部分.在后面再学习补充.

2.3文本文件数据编码

分隔符说明
\n换行
^A (ctrl A)分割字段,可以使用\001
^B用于在ARRAY,STRUCT,MAP之间做分割,可以用\002
^C用于MAP中键的分割.可以输入\003代替

说明:

  • 在存储数据的时候,需要额外注意一些问题,慎重处理分隔符问题.因为在一些情况下是存在\t.\n等奇怪的符号的,建议用一些特殊的符号.
  • Hive在建表的时候支持定义字段的分隔符.这方便了数据的ETL过程.
  • 自定义语句格式
    • row format delimited fields terminated by '\t'

2.4读时模式

和传统数据库写入数据不一样,在大数据的场景下,入库的数据可能有很多.因此会存在一些特殊场景,(数据和表结构不一致).hive在这种情况下,会使用null来填充,尽量纠正这些问题.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白日与明月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值