一.数据仓库概述
数据仓库(Data Warehouse)是一个用于存储和管理来自多个不同来源的大量结构化数据的系统。它是组织中的决策支持系统(DSS)的核心组件,用于支持复杂的数据分析、商业智能(BI)、报表和数据挖掘任务。
数据仓库的特点通常包括:
-
主题导向:数据仓库中的数据是围绕组织的关键业务领域或主题(如销售、财务、市场等)进行组织的。
-
集成性:数据来自不同来源且经过清洗、转换和集成,以保证数据的一致性和质量。
-
非易失性:一旦数据进入数据仓库,就很少被修改,确保数据的稳定性和历史数据的可追溯性。
-
时间变化:数据仓库通常包含历史数据,而不仅仅是当前的实时数据,使得可以进行时间序列分析。
数据仓库的构建和使用过程通常包括以下几个阶段:
-
数据抽取:从多个数据源中提取数据。
-
数据清洗和转换:清理数据中的错误和不一致性,并将它们转换为数据仓库所需的格式。
-
数据加载:将清理和转换后的数据加载到数据仓库中。
-
数据刷新和更新:定期或根据需要将新数据添加到数据仓库,同时保留旧数据。
-
查询和分析:业务分析师、数据科学家和决策者利用查询工具、报告工具和分析应用程序来探索数据,发现见解,支持决策。
-
数据管理:持续监控和维护数据仓库的性能,确保数据安全和质量。
数据仓库可采用不同的架构,如星型模式(Star Schema)、雪花模式(Snowflake Schema)和事实星座模式(Galaxy Schema)。这些架构帮助在查询过程中高效地组织数据。
数据仓库与传统数据库的主要区别在于,数据仓库用于分析和报告,而传统数据库(如在线事务处理系统,OLTP)主要用于处理日常的业务事务。
随着技术的发展,数据仓库也在不断演进,出现了如数据湖(Data Lake)、云数据仓库等新概念与技术。数据湖是一个更为灵活的存储系统,它能够存储大量无结构和半结构化数据,而云数据仓库则是托管在云服务提供商上的数据仓库,可以提供弹性、可伸缩性和按需付费等优势。
二.环境配置
2.1 hadoop环境的搭建
1. 先决条件:
- Java Development Kit (JDK):因为Hadoop是用Java编写的,所以你需要安装JDK。在Linux上,可以使用包管理器安装JDK。
- SSH:在分布式环境中,Hadoop 需要无密码的SSH 访问每台机器。
2. 下载Hadoop:
- 从Apache Hadoop官网下载适合你系统的Hadoop版本的tar.gz压缩文件。
3. 解压Hadoop:
- 使用`tar -xzvf hadoop-x.y.z.tar.gz`命令解压缩Hadoop。
4. 配置Hadoop环境变量:
- 打开你的 shell 配置文件,如`.bashrc`,设置`HADOOP_HOME`变量并将Hadoop的bin和sbin目录添加到`PATH`变量。
export HADOOP_HOME=/path/to/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
然后,执行`source .bashrc`使变量生效。
5. 配置Hadoop设置文件:
- 在`$HADOOP_HOME/etc/hadoop/`目录下,有多个配置文件需要编辑,主要几个主要配置文件如下:
- `hadoop-env.sh`:设置JDK路径。
export JAVA_HOME=/path/to/java
- `core-site.xml`:配置HDFS的核心设置,如NameNode的地址。
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
- `hdfs-site.xml`:配置HDFS的高级设置,如副本数。
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/path/to/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/path/to/hadoop/tmp/dfs/data</value>
</property>
</configuration>
- `mapred-site.xml`:配置MapReduce作业的设置,如使用的框架
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
- `yarn-site.xml`:配置YARN的资源管理设置。
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>
6. 格式化HDFS文件系统:
- 在首次启动Hadoop之前,必需格式化HDFS文件系统。通过下面的命令完成:
hadoop namenode -format
7. 启动Hadoop集群:
- 使用以下命令启动Hadoop集群服务:
start-dfs.sh
start-yarn.sh
8. 验证安装:
- 要验证Hadoop安装是否成功,你可以使用`jps`命令查看Java进程,以确保NameNode,DataNode,ResourceManager,NodeManager等都运行了。
这就是安装和配置Hadoop的一般步骤,在伪分布式和完全分布式模式下的过程相似,但配置设置细节(如在`core-site.xml`,`hdfs-site.xml`,`yarn-site.xml`中指定的主机名和端口)将依据实际的集群设置而有所变化。由于Hadoop的复杂性,安装过程可能会遇到若干问题,需要根据具体的错误信息逐一解决。此外,这并没有涉及到安全设置、优化和集群管理等进一步的配置。
2.2 Hive环境的搭建
Hive 是一个构建在 Hadoop 之上的数据仓库软件,用于提供数据摘要、查询和分析。Hive 使得使用类 SQL 语法(HiveQL)查询数据变得简单,而这些查询会转换成 MapReduce、Tez 或 Spark 作业。为了搭建 Hive 环境,你需要先有一个运行中的 Hadoop 集群。
以下是在基于 Linux 的系统中搭建 Hive 环境的步骤:
-
安装 Java: Hive 需要 Java 环境,所以确保已经安装了 Java Development Kit (JDK)。
-
安装 Hadoop: Hive 是建立在 Hadoop 之上的,所以在安装 Hive 之前需要先安装并配置好 Hadoop。
-
下载 Hive: 从 Apache Hive 官方网站下载适合你系统的 Hive 版本的 tar.gz 压缩文件。
-
解压缩 Hive 安装包: 使用
tar -xzvf apache-hive-x.y.z-bin.tar.gz
命令将 Hive 的安装包解压到你选择的安装目录,例如/usr/local/hive
。 -
配置 Hive 环境变量: 打开你的 shell 配置文件(例如
.bashrc
或.bash_profile
),添加下面的 Hive 环境变量和更新 PATH 变量。export HIVE_HOME=/path/to/hive export PATH=$PATH:$HIVE_HOME/bin
使配置生效,运行
source .bashrc
或者重启终端。 -
配置 Hive: Hive 的配置文件在
$HIVE_HOME/conf
目录下。你可以将hive-default.xml.template
复制为hive-site.xml
并根据需要编辑它。通常需要进行的配置包括连接到 Hadoop 的 HDFS 和 Hadoop 的 YARN。在
hive-site.xml
中设置配置属性,比如:<configuration>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property><property>
<name>hive.exec.local.scratchdir</name>
<value>/tmp/hive</value>
</property><property>
<name>hive.metastore.uris</name>
<value>thrift://<METASTORE_SERVER_HOST>:<METASTORE_PORT></value>
</property>
...
</configuration> -
初始化 Metastore: Hive 存储元数据(表定义、列数据类型等)在一个叫 Metastore 的数据库中。你需要初始化 Metastore 数据库。默认情况下,Hive 使用内嵌的 Derby 数据库,你可以通过运行下面的命令来初始化它:文章来源:https://www.toymoban.com/news/detail-843442.html
schematool -dbType derby -initSchema
你也可以配置 Hive 使用外部数据库如 MySQL、PostgreSQL 等作为 Metastore,这通常在生产环境下推荐使用。文章来源地址https://www.toymoban.com/news/detail-843442.html
到了这里,关于数据仓库学习笔记一的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!