Apache Hive 建表操作的简单描述
客户端连接hive
[root@bigdata-02 bin]# ./beeline
Beeline version 1.2.1 by Apache Hive
beeline> ! connect jdbc:hive2://bigdata-01:10000
Connecting to jdbc:hive2://bigdata-01:10000
Enter username for jdbc:hive2://bigdata-01:10000: root
Enter password for jdbc:hive2://bigdata-01:10000: ******
Connected to: Apache Hive (version 1.2.1)
Driver: Hive JDBC (version 1.2.1)
Transaction isolation: TRANSACTION_REPEAtable_READ
0: jdbc:hive2://bigdata-01:10000> create database hive_test;
show databases;
use hive_test; 创建表
create table t_a1(id int,name string) row format delimited fields terminated by ',';
加载数据 如果在本地加local 如果不在本地 不加local load data只针对内部表
load data local inpath '/root/1.txt' into table t_a1 hadoop fs -put 1.txt /user/hive/warehouse/hive_test.db/t_a1 1.txt
1,张学友
2,刘德华
3,黎明
4,郭富城 0: jdbc:hive2://bigdata-01:10000> select * from t_a1;
+----------+------------+--+
| t_a1.id | t_a1.name |
+----------+------------+--+
| 1 | 张学友 |
| 2 | 刘德华 |
| 3 | 黎明 |
| 4 | 郭富城 |
+----------+------------+--+
4 rows selected (1.358 seconds) //创建外部表
create external table t_a2(id int,name string) row format delimited fields terminated by ',' location '/test/'; hadoop fs -mkdir /test
hadoop fs -put 1.txt /test 0: jdbc:hive2://bigdata-01:10000> select * from t_a2;
+----------+------------+--+
| t_a2.id | t_a2.name |
+----------+------------+--+
| 1 | 张学友 |
| 2 | 刘德华 |
| 3 | 黎明 |
| 4 | 郭富城 |
+----------+------------+--+
4 rows selected (0.638 seconds) 区别
内部表的数据文件必须放到 指定的位置
外部表的数据文件 可以自己指定位置
外部表 drop table t_a2 后 数据文件依然存在 内部表 直接连表带数据文件一起删除 //分区表
create table t_user(id int,name string,area string) partitioned by(region string) row format delimited fields terminated by ',';
//加载数据
load data local inpath '/root/beijing.txt' into table t_user partition(region='beijing');
load data local inpath '/root/shanghai.txt' into table t_user partition(region='shanghai'); 0: jdbc:hive2://bigdata-01:10000> select * from t_user;
+----------+------------+------------+--------------+--+
| t_user.id | t_user.name | t_user.area | t_user.region |
+----------+------------+------------+--------------+--+
| 1 | 张学友 | 北京 | beijing |
| 2 | 刘德华 | 北京 | beijing |
| 3 | 黎明 | 北京 | beijing |
| 4 | 郭富城 | 北京 | beijing |
| 5 | 诸葛亮 | 上海 | shanghai |
| 6 | 司马懿 | 上海 | shanghai |
| 7 | 周瑜 | 上海 | shanghai |
+----------+------------+------------+--------------+--+
7 rows selected (0.445 seconds) //多分区
create table day_hour_table (id int, content string) partitioned by (dt string, hour string);
load data local inpath '/root/900101_08.txt' into table day_hour_table PARTITION(dt='1990-01-01', hour=''); //分桶表
开启分桶功能:set hive.enforce.bucketing = true;
设置reduce个数等于分桶的个数:set mapreduce.job.reduces=4;
创建表
create table stu_buck(Sno int,Sname string,Sex string,Sage int,Sdept string) clustered by(Sno) into 4 buckets row format delimited fields terminated by ',';
加载方式:
1,首先创建一个普通的过渡中间表 把对应的文件映射上去
create table student(Sno int,Sname string,Sex string,Sage int,Sdept string) row format delimited fields terminated by ',';
hadoop fs -put students.txt /user/hive/warehouse/hive_test.db/student
2,真正映射分桶表(insert+select)
insert overwrite table stu_buck select * from student cluster by(Sno); 测试的时候可以设置本地模式
set hive.exec.mode.local.auto=true;
Apache Hive 建表操作的简单描述的更多相关文章
- [Hive_3] Hive 建表指定分隔符
0. 说明 Hive 建表示例及指定分隔符 1. Hive 建表 Demo 在 Hive 中输入以下命令创建表 user2 create table users2 (id int, name stri ...
- Hive与表操作有关的语句
Hive与表操作有关的语句 1.创建表的语句: Create [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name data_type [COM ...
- hive建表与数据的导入导出
建表: create EXTERNAL table tabtext(IMSI string,MDN string,MEID string,NAI string,DestinationIP string ...
- hive建表没使用LZO存储格式,可是数据是LZO格式时遇到的问题
今天微博大数据平台发邮件来说.他们有一个hql执行失败.可是从gateway上面的日志看不出来是什么原因导致的,我帮忙看了一下.最后找到了问题的解决办法,下面是分析过程: 1.执行失败的hql: IN ...
- Oracle 自动生成hive建表语句
从 oracle 数据库导数到到 hive 大数据平台,需要按照大数据平台的数据规范,重新生成建表的 SQL 语句,方便其间,写了一个自动生成SQL的存储过程. ① 创建一张表,用来存储源表的结构,以 ...
- CDH集群部署hive建表中文乱码
背景:部署CDH集群的 hive 服务,选用 mysql 作为 hive 元数据的存储数据库,通过 hive cli 建表时发现中文注释均乱码. 现象:hive端建表中文注释乱码. 定位: 已经确认过 ...
- 利用MySQL原数据信息批量转换指定库数据表生成Hive建表语句
1.写出文件工具类 package ccc.utile; import java.io.*; /** * @author ccc * @version 1.0.0 * @ClassName Write ...
- hive建表范例
建表范例:支持update和delete create table aaa( id string, visitor_name string ) clustered by(id) into bucket ...
- Hive建表和内外部表的使用
原文链接: https://www.toutiao.com/i6766784274965201415 一.普通建表方式 create table stu_info( id int, name stri ...
随机推荐
- PhotoPicker 从头到脚
1. 简介 PhotoPicker, 是一款开源的图片选择器.效果上和微信相似. 2. 使用方法 2.1 添加依赖 dependencies { compile 'me.iwf.photopicker ...
- Linux使用lrzsz上传下载文件
1.当然是要安装lrzsz这个程序 yum -y install lrzsz 2.该程序的使用 //下载文件 sz filepath.ext//文件会默认下载到系统的Downloads目录 //上传文 ...
- VMware Workstation/Fusion 14/15 密钥
VMware WorkStation 14 CG54H-D8D0H-H8DHY-C6X7X-N2KG6 ZC3WK-AFXEK-488JP-A7MQX-XL8YF AC5XK-0ZD4H-088HP- ...
- 第2章 开始Flex
* Flex开发中可用两种语言 1.MXML 2.ActionScript * Flex中使用两个组件集 1.MX (mx.*) 早期的Flex版本用到的组件集 2.Spark (spark.*) F ...
- opencv 卡尔曼滤波器例子,自己修改过
一.卡尔曼滤波器的理论解释 http://blog.csdn.net/lindazhou2005/article/details/1534234(推荐) 二.代码中一些随机数设置函数,在opencv中 ...
- PHPExcel导出导入
便于记忆 这里写一个PHPexcel导出的demo 我们构造一个数据 $letter = array('A','B','D','E'); //sheet索引 $date = array( ar ...
- intellij idea 如何更改比编辑器文本字体和大小
换上了intellij idea之后,第一件事就是想要改变下文字字体,因为在我这个27寸的2k分辨率的屏幕上,文字显然太小了. intellij idea字体设值分成两部分,一部分是UI部分字体字号设 ...
- 【LeetCode】129. Sum Root to Leaf Numbers
Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number ...
- raw_in_fields
在admin后台类中加入raw_id_fields(只适用于外键)后,会显示外键的详细信息
- centos6.x 配置bond
centos6.x 配置bond centos6.x 配置bond1 物理网卡配置2 bond0网卡配置3 查看bond0网卡状态 摘要: centos6.x下使用双网卡配置bond0, centos ...