Hive部署,
Linux MySQL Hadoop
1)Hadoop是什么
海量数据分布式的存储和计算框架
数据存储:HDFS: Hadoop Distributed File System
数据计算:YARN/MapReduce
IDE
2)Hadoop的访问方式
shell cli:
文件夹、文件的创建以及删除
移动、改名
下载、复制
查看
Java API:
Web UI: 50070 HUE
3)使用MapReduce来处理HDFS文件系统上的数据—真心麻烦
一个框架如果最终不能落地到使用SQL处理,
那么这个框架将不会是一个受欢迎的框架。
Hive – 若泽
产生背景
MapReduce编程不方便:开发、测试、需求变更
传统关系型数据库人员的需要
DBA:我就像使用sql一样的方式来处理分析大数据
= = > Hive
文件存放在HDFS之上的,那么如果你想使用SQL去处理它,需要一个什么前提?
结构化、文件映射成表格 ==> Schema 元数据信息(metastore)
Hive是什么: hive.apache.org
data warehouse
分布式存储:HDFS、S3、OSS
hdfs://xxxxxxx
s3://…
Facebook开源:解决海量结构化日志的数据 pv uv
构建在Hadoop之上的数据仓库
Hive定义了SQL语言:HQL (类SQL)
通常用于离线处理
SQL = = = = =Hive = = = = =MapReduce/Spark/Tez===>YARN
Hive on MapReduce
Hive on Spark
Hive on Tez
Hive发展历程
08/07 Facebook
05/13 0.11 Stinger Phase 1 ORC HiveServer2
10/13 0.12 Stinger Phase 2 ORC improvement
04/14 0.13 Stinger Phase 3 Tez and Vectorized query engine
11/14 0.14 Stinger.next Phase 1: Cost-based optimizer
为什么要使用Hive
1) SQL
2) Hadoop
3) MetaStore: Pig/Impala/Presto/SparkSQL共享元数据信息
部署架构
Hadoop分布式 集群
Hive 客户端
Hive与RDBMS的关系
SQL: Hive QL和SQL的关系
实时性
事务
分布式
数据量
Hive部署
下载:http://archive-primary.cloudera.com/cdh5/cdh/5/
在使用CDH版本的时候一定要注意:尾巴对准了
wget http://archive-primary.cloudera.com/cdh5/cdh/5/hive-1.1.0-cdh5.7.0.tar.gz
解压:tar -zxvf hive-1.1.0-cdh5.7.0.tar.gz -C ~/app/
配置环境变量: ~/.bash_profile
export HIVE_HOME=/home/hadoop/app/hive-1.1.0-cdh5.7.0
export PATH=$ HIVE_HOME/bin:$PATH
生效: source ~/.bash_profile
(1)vi ~/.bash_profile,配置个人环境变量
Hive配置:$ HIVE_HOME/conf
hive-env.sh
HADOOP_HOME=/home/hadoop/app/hadoop-2.6.0-cdh5.7.0
(1)先在conf目录下找到hive-env.sh.template,然后cp一份重新命名为hive-env.sh
(2)然后配置文件内容
hive-site.xml配置的就是MySQL的相关信息
(1)把hive-site.xml传到root用户,然后scp到hadoop用户下的指定目录
(2)修改文件内容,MySQL的用户名和密码
拷贝mysql驱动到$HIVE_HOME/lib
路径:/home/hadoop/app/hive-1.1.0-cdh5.7.0/lib
(1)把jar包传到root用户,然后scp到hadoop用户中的指定目录下
(2)在lib目录下查看jar包是否存在
javax.jdo.option.ConnectionURL
jdbc:mysql://localhost:3306/ruoze_d5?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=UTF-8
部署完成,启动Hive
MySQL中生成新的数据库
快速入门
create table ruoze_helloworld(id int,name string)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘\t’;
load data local inpath ‘/home/hadoop/data/helloworld.txt’ overwrite into table ruoze_helloworld;
alter database ruoze_d5 character set latin1;
bin:目录存放脚本
conf:配置文件
lib:依赖包
坑:hive-site.xml文件中配置信息是自己的MySQL用户名,密码也是。