hive中查询案例(表的建立以及split函数使用)
来源:互联网 发布:局域网管控软件 编辑:程序博客网 时间:2024/06/05 04:22
1.hive表的两种类型
在hive上创建表时,有内表与外表两种类型,对应的语句为 CREATE TABLE
与CREATE EXTERNAL TABLE
。
其中创建内表过程中,hive会将数据移动到数据仓库指向路径。
而创建外表时,记录数据所在路径,不对数据进行任何操作。
因此删除数据表时,内表的元数据与数据一同删除,而外表数据不会改动,仅删除元数据。在使用时尽量使用外表,以防不时删除表带来数据缺失的不便。
2.hive表的分区
hive表的分区是指在创建表时指定partition的分区,每个分区以文件夹的形式单独存在表文件夹的目录下。创建代码如下: CREATE EXTERNAL TABLE transaction(
Type string,
TransID string,
AgentID string,
Client string,
RcptTime string,
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY ‘\n’
PARTITIONED BY(year string,month string)
/*PARTITIONED BY为分区语句*/
STORED AS TEXTFILE
LOCATION '/user/data';
注意:LOCATION后面跟的是HDFS系统下的文件目录,若不指定则默认创建为 /user/hive/warehouse 目录
hive分区不是表中实际的字段,在使用时一般预先在hdfs上创建好分区对应的目录路径,再使用分区。对于transaction表,事先在hdfs上创建/user/data/year/month文件夹,然后创建表。
动态分区/静态分区(待续….)
3.hive表导入数据的几种方式
参照该博客,讲的很详细——Hive总结(七)Hive四种数据导入方式
http://blog.csdn.net/lifuxiangcaohui/article/details/40588929
4.split函数使用
split是hive中的字符串分割函数,使用非常简单。
split(str, regex) - Splits str around occurances that match regex
表中RcptTime的数据格式类型为“2014/7/4 14:50”使用split函数提取其中小时数的语句为split(split("2014/7/4 14:50",' ')[1],':')[0]
首先对空格进行分割,得到两部分{“2014/7/4” “14:50”},其中[1]={“14:50”}。然后同理得到小时数14。
- hive中查询案例(表的建立以及split函数使用)
- 转义字符\(在hive+shell以及java中注意事项):正则表达式的转义字符为双斜线,split函数解析也是正则
- 建立HBase的集群和HDInsight在Hadoop中使用Hive来查询它们
- asp中Split 函数的使用
- Python中split函数的使用
- Mysql截取字符串split函数的实现以及使用范例
- split函数的使用
- Oracle中使用Split函数
- hive中时间日期函数的使用
- hive中时间日期函数的使用
- 编写hive udf和使用hive udf:hue的hive界面中使用hive udf函数、oozie使用hive udf函数、hive命令行使用udf函数
- 编写hive udf和使用hive udf:hue的hive界面中使用hive udf函数、oozie使用hive udf函数、hive命令行使用udf函数
- hive中的分析函数以及时间戳的使用
- 有关vb中split函数的使用疑问
- Java中split函数的用法及使用示例
- Hive内置函数的应用案例
- 关于Oracle中split函数的实现以及函数递归的举例。
- JAVA中subString以及split函数等几个函数的用法技巧
- windows7下安装vmware虚拟机linux系统详细流程
- stat、fstat和lstat函数
- JavaScript中的eval()方法
- python获取系统硬件信息
- 深入理解JVM 第一章之1
- hive中查询案例(表的建立以及split函数使用)
- link、unlink、remove和rename
- linux基础-crontab
- Java 访问 HDFS操作
- 小米笔试题-懂二进制
- 进程间通信(IPC)(2)—— 消息队列
- 对区域的操作
- java编程---3.1 (关于String的练习题) 将字符串中的字符按需求等分,例如:把aqzxswerdcvfr变成AQZX-SWER-DCVF-R
- Android Glide图片加载库的使用