2号晚上12点之前提交Hadoop笔记
-》重难点
-》二次排序、HA、yarn、hdfs
-》MarkDown/有道笔记
-》提交方式:邮箱,姓名+hadoop笔记
一、介绍Hive
-》来源:Facebook
-》2008年
-》原因:
-》MapReduce编程十分麻烦
-》driver、Mapper、reduce
-》java 开发
-》缺少大量的开发人员,DBA(数据分析)
-》发展以及版本
-》0.x:0.13.1
-》1.x:1.2.1 常见
MapReduce/Tez/Spark
-》2.x:2.1.0 生产环境中很少见
hive MLlib
-》区别:
-》性能越来越高效
-》越来越像关系型数据库
-》应用场景
-》使用sql来解决大数据存储及大数据分析问题
-》直接使用sql就可以对数据进行分析开发
hadoop hbase spark
hive hadoop
mapreduce:java 100行
hadoop,1
hbase,1
spark,1
hive,1
hadoop,1
分组:将相同key的value合并
sql:wordcount:每个单词出现的次数
select
word,count(word) as cnt
from
testsql
group by
word
order by
cnt desc;
-》应用
-》构建数据仓库
-》用户画像
-》ETL(抽取、转换、加载)
-》数据采集:hdfs
-》数据清洗:etl
-》数据分析
-》数据展示
-》结构化数据
-》结构化:固定行和列
-》半结构化
-》非结构化
-》如何在hive中实现wordcount
hadoop hbase spark
hive hadoop
-》将一行转为多行,一行一个单词
explode:行列转换的函数
-》对单词进行分组统计
hadoop
hbase
spark
hive
hadoop
-》原理
-》基于hadoop之上
-》存储:hdfs/hbase(hdfs)
-》计算:MapReduce
-》功能:
-》将sql语句转换为MapReduce程序
MapReduce默认输入读hdfs文件来进行处理
||
sql处理的数据也是hdfs文件
||
sql处理表中的数据
-》将hdfs文件变成表格
表格:固定的行和列
||
日志:固定的行和列
-》hive:hdfs+mapreduce
-》hadoop的客户端(sql)
-》特点:
-》数据仓库/数据集市/数据仓库建模
-》使用sql对大数据进行分析
-》sql:DDL/DML
数据定义语言:create
数据操作语言:update、delete、select、insert
sql:MysqL、oracle
create、update、delete、select、insert
HQL:Hive、spark sql
create、select、insert(不做行级的事务)
-》hadoop
-》hdfs:分布式存储
-》MapReduce:分布式计算
-》sql on Hadoop = Hive
-》presto:京东
-》impala:cloudera
-》存储:hdfs
-》计算:
MapReduce =》 java、scala、Python
Hive =》 HQL(sql)
-》地址:hive.apache.org
hadoop.apache.org
flume.apache.org
spark.apache.org
sqoop.apache.org
oozie.apache.org
-》支持udf/自定义存储格式
-》user define function
-》自己开发一个函数,打成jar包
-》放入hive中,使用自己开发的函数
二、安装部署hive
-》简单安装
-》下载解压
apache-hive-1.2.1-bin.tar.gz
tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /opt/modules/
-》修改配置
mv hive-env.sh.template hive-env.sh
mv hive-log4j.properties.template hive-log4j.properties
mv beeline-log4j.properties.template beeline-log4j.properties
mv hive-exec-log4j.properties.template hive-exec-log4j.properties
-》修改hive-env.sh
HADOOP_HOME=/opt/modules/hadoop-2.7.3
export HIVE_CONF_DIR=/opt/modules/hive-1.2.1-bin/conf
-》配置hdfs
-》hive的数据仓库结构(与数据库类似)
-》数据库(目录)、表(目录)、表的数据(文件)
-》给定hive在HDFS上数据仓库的地址
bin/hdfs dfs -mkdir /tmp
bin/hdfs dfs -mkdir -p /user/hive/warehouse
bin/hdfs dfs -chmod g+w /tmp
bin/hdfs dfs -chmod g+w /user/hive/warehouse
-》启动服务
-》启动客户端直接连接服务端
bin/hive
-》测试
-》sql
-》怎么学习hive
-》Hadoop:hdfs+MapReduce+Yarn
-》将hdfs上的文件变成了表格
-》将sql转换为MapReduce程序提交给yarn去执行
-》HQL:sql
create database if not exists wordcount;
use wordcount;
drop table if exists wc;
create table wc(
id int,
word string
)
row format delimited fields terminated by '\t'
LInes TERMINATED BY '\n';
-》把文件映射成表
-》怎么将文件中每一列与表格中的每一列一一对应
-》在创建表时,根据文件行和列的分割符来指定表创建时的分隔符
指定列:row format delimited fields terminated '\t'
指定行:LInes TERMINATED BY '\n'
-》查看表的信息
desc wc;
desc formatted wc;
-》加载数据到表中
load data local inpath '/opt/datas/hivetest.txt' into table wc;
-》hive实现的原理
-》用户提交sql语句
-》hive判断sql语句是否合法
-》语法是否正确?
-》表、数据库、是否存在?
-》hive根据表和数据库的信息到hdfs上查找对应的文件
-》hive将表目录下所有的文件作为MapReduce程序的输入
-》封装好底层的MapReduce程序提交给yarn去执行
-》将处理后的结果返回
-》hive将所有表、数据库、文件等一一对应的信息存在数据库中
-》hive的元数据:默认情况使用hive自带的derby数据库进行存储
-》表、文件、数据库等等之间的关系
-》所有表、文件、数据库在hdfs上的位置
-》默认的Derby数据库不适合生产环境
-》文本数据库
-》工作中一般使用MysqL来存储hive的元数据
-》hive的组成
-》hadoop
-》文件的存储:hdfs
-》数据的计算:MapReduce、yarn
-》metastore:元数据
-》表、文件、数据库等等之间的关系
-》所有表、文件、数据库在hdfs上的位置
-》Driver:将sql语句转换为MapReduce程序
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。