Apache - Hive环境部署与快速入门
- Title : Apache-Hive
- Author: Titan
1. 什么是Hive
Hive:由 Facebook 开源用于解决海量结构化日志的数据统计。 Hive 是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类 SQL 查询功能。 也就是说,Hive提供了一种类SQL的HQL语言,方便你进行编写一些数据处理的东西,最终将 HQL 转化成 MapReduce 程序
2. Hive的安装记录
Hive的安装相对Hadoop来说比较容易,这里使用的是hive-1.2.2版本
首先:将 apache-hive-1.2.2-bin.tar.gz 上传到机器中并解压
修改/opt/module/hive/conf 目录下的 hive-env.sh.template 名称为 hive-env.sh
配置 hive-env.sh 文件,在下面加入以下配置:
export HADOOP_HOME=/opt/hadoop-2.10.0
export HIVE_CONF_DIR=/opt/apache-hive-1.2.2-bin/conf
启动Hadoop集群,然后在 hive安装目录下的bin目录中,运行hive二进制文件,即可启动hive。
3. Hive的基本操作
(1)启动 hive bin/hive
(2)查看数据库 hive> show databases;
(3)打开默认数据库 hive> use default;
(4)显示 default 数据库中的表 hive> show tables;
(5)创建一张表 hive> create table student(id int, name string);
(6)显示数据库中有几张表 hive> show tables;
(7)查看表的结构 hive> desc student;
(8)向表中插入数据 hive> insert into student values(1000,"ss");
(9)查询表中数据 hive> select * from student;
(10)退出 hive hive> quit;
4. 将数据导入Hive中
(1) 将本地文件数据导入到Hive中
- 创建一个student.txt文件,内容如下(每行数据以制表符分割)
1 Titan
2 Goodman
3 Mike
4 Workman
5 Walkman
- 显示当前的所有数据库
hive> show databases;
- 使用 default 数据库
hive> use default;
- 创建 student 表, 并声明文件分隔符 't'
hive> create table student(id int, name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY 't';
- 加载student.txt 文件到 student 数据库表中
load data local inpath 'student.txt' into table student;
- Hive 查询结果
hive> SELECT * FROM student;
OK
1 Titan
2 Goodman
3 Mike
4 Workman
5 Walkman
(2) 将HDFS中的数据导入到Hive中
将HDFS中的数据导入到Hive中和上述本地数据的导入方式并无太大差异。
- 将数据文件上传到HDFS中:
hdfs dfs put student.txt /
- 将HDFS中的数据导入到Hive中,只需要将 load语句的local删去即可:
load data inpath '/student.txt' into table student;
上面两种方式的区别:
本地文件导入到Hive采用的是copy的方式,即源文件将复制一份到HDFS中的hive相应目录,而直接导入HDFS中的数据文件,Hive将修改数据块的元数据,更改其存储路径,类似于“移动”。
- 使用FastText(Facebook的NLP库)进行文本分类和word representatio...
- 声音分类的迁移学习
- 【死磕Java并发】—– J.U.C之AQS:CLH同步队列
- 使用Python完成你的第一个学习项目
- CA,给了数据库,给了机器,为啥也扩不了容?
- 如何使用Anaconda设置机器学习和深度学习的Python环境
- MQ,互联网架构解耦神器
- 预测随机机器学习算法实验的重复次数
- 服务化了,没想到耦合更加严重?
- 如何在Python中扩展LSTM网络的数据
- 使用Keras的Python深度学习模型的学习率方案
- 全球电脑手机无一幸免,英特尔CPU“漏洞事件”到底多严重?
- 评估Keras深度学习模型的性能
- Python机器学习的练习二:多元线性回归
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 数据结构基础 (代码效率优化, 线性表, 栈, 队列, 数组,字符串,树和二叉树,哈希表)
- Python爬虫之requests模块了解
- Python爬虫之数据提取概述
- Python爬虫之数据提取-jsonpath模块
- 什么是高斯混合模型
- Python爬虫之数据提取-lxml模块
- 用Python读写文件的方法
- 反编译PyInstaller打包后的exe为py源码
- Qt多线程编程实战:MD5单项加密
- 高速上云/网络穿透/视频上云网关EasyNTS组网服务平台如何通过复制穿透结果实现外网到内网的访问?
- SpringBoot常用注解的简单理解
- Qt多线程编程之线程的同步和互斥
- TS 设计模式06 - 代理模式
- TS 设计模式07 - 观察者模式
- Java 语言基础(异常机制和File类,IO流,多线程,网络编程,反射机制)