Hive的hiveserver2服务和DML操作

hiveserver2服务

前面都是使用Hive的命令行客户端,此处记录一下hiveserver2服务启动使用的方法。

Hadoop的配置文件

首先要修改Hadoop的配置文件:

# vim /usr/hadoop-2.7.7/etc/hadoop/core-site.xml

添加如下配置内容:

<property>
    <name>hadoop.proxyuser.root.hosts</name>
    <value>*</value>
</property>
<property>
    <name>hadoop.proxyuser.root.groups</name>
    <value>*</value>
</property>

并将该文件拷贝到Hadoop集群的所有节点的对应目录下:


hive服务01.png

Hive的配置文件

由于配置Hive时,配置文件hive-site.xml是复制的hive-default.xml.template,所以其中的内容有默认配置,主要是以下两项:

<property>
    <name>hive.server2.thrift.port</name>
    <value>10000</value>
    <description>Port number of HiveServer2 Thrift interface when hive.server2.transport.mode is 'binary'.</description>
</property>
<property>
    <name>hive.server2.thrift.bind.host</name>
    <value/>
    <description>Bind host on which to run the HiveServer2 Thrift service.</description>
</property>

hive.server2.thrift.bind.host的value值,可以配置本机IP地址,也可以默认。

hiveserver2启动

在终端中数据如下命令,即可启动hiveserver2服务:

# hiveserver2
hive服务02.png

此处使用beeline进行连接服务,另开一个终端上执行如下命令:

# beeline
hive服务03.png

然后输入如下信息进行连接:

beeline> !connect jdbc:hive2://192.168.44.128:10000

用户名:root,密码:默认无,直接回车即可。


hive服务04.png

连接成功后,即可进行数据库操作:

0: jdbc:hive2://192.168.44.128:10000>show databases;
hive服务05.png

DML操作

DML(Data Manipulation Language:数据操纵语言)主要是实现对数据库的基本操作。

数据导入

装载数据(Load)

Load在前文的《Hive安装、配置和测试》中已经使用过,前文连接:https://www.jianshu.com/p/5c5d57dc2084
语法:

hive> load data [local] inpath '/home/test.txt' into | overwrite table testhive.testtable [partition(partcol1=val1...)];
  • load data:加载数据。
  • local:表示从本地目录加载数据到hive表;不加local表示从HDFS加载数据到hive表。
  • inpath:加载数据的目录。
  • overwrite:覆盖表中已有数据,不加overwrite表示追加数据到表中。
  • into table:表示数据加载到哪张表。
  • testhive.testtable:表示数据加载到testhive库中的testtable表。
  • partition:表示加载数据到指定的分区中。

实际操作

此处还是使用Hive客户端进行操作。

  1. 创建表:
hive (default)> create table test(id int,name string,age int) row format delimited fields terminated by ' ' lines terminated by '\n';
  1. 创建数据文件:
    另打开一个终端,在home目录下创建test.txt文件:
# vim /home/test.txt

写入如下内容并保存:

1 Dcl_Snow 18
2 Dcl 19
3 Snow 20
hive服务06.png
  1. 从本地文件加载数据:
hive (default)> load data local inpath '/home/test.txt' into table default.test;
  1. 从HDFS中加载数据:
    上传本地文件到HDFS:
hive (default)> dfs -put /home/test.txt /tmp;

加载HDFS中的数据:

hive (default)> load data inpath '/tmp/test.txt' into table default.test;
  1. 覆盖数据加载:
    在HDFS中创建/test目录:
# hdfs dfs -mkdir /test
# hdfs dfs -ls /
hive服务07.png

上传本地文件到HDFS,上传前先在test.txt文件中增加一行内容:

4 DclSnow 21
hive服务08.png
hive (default)> dfs -put /home/test.txt /test;
hive服务9.png

加载HDFS中的数据覆盖表中原数据:

hive (default)> load data inpath '/test/test' overwrite into table default.test;
hive服务10.png
  1. 创建新表存储查询结果:
hive (default)> create table if not exists test1 as select id, name, age from test;
hive服务11.png

可以看到,是执行了MapReduce操作。

  1. export导出:
hive (default)> export table default.test to '/test/test';
hive服务12.png
  1. import导入:
hive (default)> import table test2 from '/test/test';
hive服务13.png
  1. insert导出:
    将查询结果导出到本地:
hive (default)> insert overwrite local directory '/home/test' select * from test;
hive服务14.png

hive服务15.png

hive服务16.png
  1. Hadoop命令导出到本地:
hive (default)> dfs -get /test/test /home/testha;
hive服务17.png

hive服务18.png
  1. Hive Shell命令导出到本地:
    在安装Hive的虚拟机终端下执行:
# hive -e 'select * from default.test;' >/home/testhi
hive服务19.png
  1. 清除表中数据:
hive (default)> truncate table test;

hive服务20.png


只能清除内部表(管理表)中的数据,不能清除外部表中的数据。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,941评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,397评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,345评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,851评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,868评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,688评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,414评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,319评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,775评论 1 315
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,945评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,096评论 1 350
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,789评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,437评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,993评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,107评论 1 271
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,308评论 3 372
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,037评论 2 355

推荐阅读更多精彩内容