白泽 Byzer-lang 集成 Hive 3.1.2

白泽 Byzer-lang 集成 Hive 3.1.2,第1张

Ubuntu 20.04 单机部署, JDK 8,各应用介绍如下。Hadoop Hive均正常运行。本文介绍 白泽 以 Client 模式部署至 Yarn,并读写 Hive 数据。以 hadoop 账号执行操作。

hive 配置放置到 $SPARK_HOME/conf

配置 HiveMetastore

Spark 3.1.1 默认匹配 Hive 2.3.7与我们的环境不符,因而手动配置。

注意: 拷贝 hive 3.1.2 hivemetastore 及其依赖包。

验证 spark 可以访问 hive 表

需要先在 HDFS 创建 Delta 目录

前面已经打通了 Hadoop Spark Hive, 可以启动 Byzer-lang 了。按照以下脚本启动。

执行后,Byzer-lang log 出现以下信息,表示启动成功

然后启动 Notebook, 配置和启动脚本这里不再赘述。登录 Notebook,在 Data Catalog 里看到 Hive 表 zjc_11

https://spark.apache.org/docs/3.1.1/sql-data-sources-hive-tables.html#interacting-with-different-versions-of-hive-metastore

不行。 安装 vm 下载:去官网下 VMware-player-5.0.1-894247.zip 安装和配置ubanto 下载:去官网下 ubuntu-12.10-desktop-i386.iso 打开vm,载入ubanto iso文件,进行安装更新 进入ubanto,如果是第一个进入,则需要设置root的密码

一个公司里面不同项目可能用到不同的数据源,有的存在MySQL里面,又的存在MongoDB里面,甚至还有些要做第三方数据。

但是现在又想把数据整合起来,进行 数据分析 。此时数据仓库(Data Warehouse,DW)就派上用场了。它可以对多种业务数据进行筛选和整合,可以用于数据分析、数据挖掘、数据报表。

总的来说,数据仓库是将多个数据源的数据按照一定的 主题 集成起来,因为之前的数据各不相同,所以需要 抽取、清洗、转换

整合以后的数据不允许随便修改,只能分析,还需要定期更新。

上面我们说过,数据仓库接收的数据源是不同的,要做集成的话,需要 抽取、清洗、转换 三个步骤,这就是 ETL (Extract-Transform-Load)

国内最常用的是一款基于Hadoop的开源数据仓库,名为 Hive ,它可以对存储在 HDFS 的文件数据进行 查询、分析

Hive对外可以提供HiveQL,这是类似于SQL语言的一种查询语言。在查询时可以将HiveQL语句转换为 MapReduce 任务,在Hadoop层进行执行。

Hive的最大优势在于 免费 ,那其他知名的商业数据仓库有那些呢?比如Oracle,DB2,其中业界老大是 Teradata

Teradata数据仓库支持大规模并行处理平台(MPP),可以高速处理海量实际上,性能远远高于Hive。对企业来说,只需要专注于业务,节省管理技术方面的精力,实现ROI(投资回报率)最大化。

上面提到了Hive是最著名的开源数据仓库,它是Hadoop生态中一个重要的组件。

Hadoop的生态中,HDFS解决了分布式存储的问题,MapReduce解决了分布式计算的问题,而HBASE则提供了一种NoSQL的存储方法。

但是如果需要的HDFS上的文件或者HBASE的表进行查询,需要自定义MapReduce方法。那么Hive其实就是在HDFS上面的一个中间层,它可以让业务人员直接使用SQL进行查询。

所以Hive是用进行数据提取转换加载的,而且它可以把SQL转换为MapReduce任务,而Hive的表就是HDFS的目录或者文件。

上图为Hive的体系结构

Hive主要包含以下几种数据模型:

本文为 什么是数据仓库? 的笔记


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/484713.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-06-09
下一篇2023-06-09

发表评论

登录后才能评论

评论列表(0条)

    保存