hive读取hdfs存放文件_Hive基本概念
1.1 Hive简介
1.1.1 什么是Hive
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。
1.1.2 为什么使用Hive
- 直接使用hadoop所面临的问题
人员学习成本太高
项目周期要求太短
MapReduce实现复杂查询逻辑开发难度太大
- 为什么要使用Hive
操作接口采用类SQL语法,提供快速开发的能力。
避免了去写MapReduce,减少开发人员的学习成本。
扩展功能很方便。
1.1.3 Hive的特点
- 可扩展
Hive可以自由的扩展集群的规模,一般情况下不需要重启服务。
- 延展性
Hive支持用户自定义函数,用户可以根据自己的需求来实现自己的函数。
- 容错
良好的容错性,节点出现问题SQL仍可完成执行。
1.2 Hive架构
1.2.1 架构图
Jobtracker是hadoop1.x中的组件,它的功能相当于: Resourcemanager+AppMaster
TaskTracker 相当于: Nodemanager + yarnchild
1.2.2 基本组成
- 用户接口:包括 CLI、JDBC/ODBC、WebGUI。
- 元数据存储:通常是存储在关系数据库如 mysql , derby中。
- 解释器、编译器、优化器、执行器。
- 用户接口主要由三个:CLI、JDBC/ODBC和WebGUI。其中,CLI为shell命令行;JDBC/ODBC是Hive的JAVA实现,与传统数据库JDBC类似;WebGUI是通过浏览器访问Hive。
- 元数据存储:Hive 将元数据存储在数据库中。Hive 中的元数据包括表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等。
- 解释器、编译器、优化器完成 HQL 查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。生成的查询计划存储在 HDFS 中,并在随后有 MapReduce 调用执行。
1.2.3 各组件的基本功能
1.3 Hive与Hadoop的关系
Hive利用HDFS存储数据,利用MapReduce查询数据
1.4 Hive与传统数据库对比
总结:hive具有sql数据库的外表,但应用场景完全不同,hive只适合用来做批量数据统计分析
1.5 Hive的数据存储
1、Hive中所有的数据都存储在 HDFS 中,没有专门的数据存储格式(可支持Text,SequenceFile,ParquetFile,RCFILE等)
2、只需要在创建表的时候告诉 Hive 数据中的列分隔符和行分隔符,Hive 就可以解析数据。
3、Hive 中包含以下数据模型:DB、Table,External Table,Partition,Bucket。
² db:在hdfs中表现为${hive.metastore.warehouse.dir}目录下一个文件夹
² table:在hdfs中表现所属db目录下一个文件夹
² external table:与table类似,不过其数据存放位置可以在任意指定路径
² partition:在hdfs中表现为table目录下的子目录
² bucket:在hdfs中表现为同一个表目录下根据hash散列之后的多个文件
1.6 HIVE的安装部署
1.6.1 安装
单机版:
元数据库mysql版:
1.6.2 使用方式
Hive交互shell
bin/hive
Hive thrift服务
启动方式,(假如是在hadoop01上):
启动为前台:bin/hiveserver2
启动为后台:nohup bin/hiveserver2 1>/var/log/hiveserver.log 2>/var/log/hiveserver.err &
启动成功后,可以在别的节点上用beeline去连接
v 方式(1)
hive/bin/beeline 回车,进入beeline的命令界面
输入命令连接hiveserver2
beeline> !connect jdbc:hive2//mini1:10000
(hadoop01是hiveserver2所启动的那台主机名,端口默认是10000)
v 方式(2)
或者启动就连接:
bin/beeline -u jdbc:hive2://mini1:10000 -n hadoop
接下来就可以做正常sql查询了
Hive命令
[hadoop@hdp-node-02 ~]$ hive -e ‘sql’
hive读取hdfs存放文件_Hive基本概念相关推荐
- hive读取hdfs存放文件_数据获取层之Flume快速入门(一) 实时监控单个追加文件
实时监控 Hive 日志,并上传到 HDFS 中 实现步骤 1.Flume 要想将数据输出到 HDFS,必须持有 Hadoop 相关 jar 包 commons-configuration-1.6.j ...
- hive 导出json格式 文件_Hive 系列 之 基本操作合集
下面是本课程概览: (1)hive系列之简介,安装,beeline和hiveserver2 (2)hive系列之基本操作 (3)hive系列之udf (4)hive系列之二级分区和动态分区 (5)hi ...
- Java读取Hdfs的文件数据出现乱码的解决方案和办法
使用JAVA api读取HDFS文件乱码踩坑 想写一个读取HFDS上的部分文件数据做预览的接口,根据网上的博客实现后,发现有时读取信息会出现乱码,例如读取一个csv时,字符串之间被逗号分割 英文字符串 ...
- hive 导出json格式 文件_hive支持json格式的数据
Hive 支持完全 json 格式的数据 现有 json 格式的数据 test.txt ,如下 {"name":"zhang","age" ...
- hive 导出json格式 文件_hive中创建hive-json格式的表及查询
在hive中对于json的数据格式,可以使用get_json_object或json_tuple先解析然后查询. 也可以直接在hive中创建json格式的表结构,这样就可以直接查询,实战如下(hive ...
- hive 导出json格式 文件_hive存储json格式文件
hive从0.12版本以后就开始自身支持json文件的格式了 1.文件格式 下面是测试用的文件预览格式,我将其存储为jsonTest.json文件,放在了/root目录下 {"_locati ...
- java 读取hdfs上的文件内容
用java读取hdfs的文件 直接撸代码: package com.nature.base.util;import com.nature.component.process.vo.DebugDataR ...
- pyspark —— spark dataframe 从hdfs读写文件:按照指定文件格式读写文件(读写csv、json、text文件,读取hive表,读取MySQL表)、按照指定分隔符读写文件
spark有3种数据结构--RDD.DataFrame.DataSet.这里展示的文件读写方式,都是针对dataFrame数据结构的,也就是文件读进来之后,是一个spark dataFrame. 0. ...
- hadoop读取mysql数据_Pyspark连接mysql、hive、hdfs 实例展示
本文展示pyspark与mysql.hive.hdfs的连接实例.一是为了纪念:终于走过n个坑,自己搭配好本地hadoop环境:一是为了让还不会pyspark的人有个初步的印象,毕竟数据分析师除了会使 ...
最新文章
- 获取VirtualBox COM对象失败,Unable to start the virtual device
- 11-分步查询懒加载
- 如何用纯 CSS 创作一个文本淡入淡出的 loader 动画
- Web Service 缓存
- 深入解读Flink资源管理机制
- SQL Server流程介绍
- 如何用matlab画正态分布曲线
- RedHat Linux下获取snmp信息不全的解决办法
- win11错误代码0xc1900101怎么解决 windows11错误代码0xc1900101的解决方法
- 第一节 如何用Go实现单链表
- Oracle 数据库用户表大小分析
- Hello World with Ant
- UWP 应用通知Notifications
- 如何将nupkg文件安装到VS2017
- 微信小程序项目源码在线考试系统+后台含论文+PPT+源码
- linux office 永中,永中Office Linux版
- pfSense安装和配置pfBlockerNg
- 这可能是介绍 ZooKeeper 最好的文章了
- 联想笔记本一键还原出现 “系统分区结构发生改变,无法进行恢复操作”怎样处理。
- 中国AI觉醒 阿里王坚:云智能将成为大趋势