0


数据仓库学习笔记一

一.数据仓库概述

数据仓库(Data Warehouse)是一个用于存储和管理来自多个不同来源的大量结构化数据的系统。它是组织中的决策支持系统(DSS)的核心组件,用于支持复杂的数据分析、商业智能(BI)、报表和数据挖掘任务。

数据仓库的特点通常包括:

  1. 主题导向:数据仓库中的数据是围绕组织的关键业务领域或主题(如销售、财务、市场等)进行组织的。
  2. 集成性:数据来自不同来源且经过清洗、转换和集成,以保证数据的一致性和质量。
  3. 非易失性:一旦数据进入数据仓库,就很少被修改,确保数据的稳定性和历史数据的可追溯性。
  4. 时间变化:数据仓库通常包含历史数据,而不仅仅是当前的实时数据,使得可以进行时间序列分析。

数据仓库的构建和使用过程通常包括以下几个阶段:

  1. 数据抽取:从多个数据源中提取数据。
  2. 数据清洗和转换:清理数据中的错误和不一致性,并将它们转换为数据仓库所需的格式。
  3. 数据加载:将清理和转换后的数据加载到数据仓库中。
  4. 数据刷新和更新:定期或根据需要将新数据添加到数据仓库,同时保留旧数据。
  5. 查询和分析:业务分析师、数据科学家和决策者利用查询工具、报告工具和分析应用程序来探索数据,发现见解,支持决策。
  6. 数据管理:持续监控和维护数据仓库的性能,确保数据安全和质量。

数据仓库可采用不同的架构,如星型模式(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.xmlhdfs-site.xmlyarn-site.xml中指定的主机名和端口)将依据实际的集群设置而有所变化。由于Hadoop的复杂性,安装过程可能会遇到若干问题,需要根据具体的错误信息逐一解决。此外,这并没有涉及到安全设置、优化和集群管理等进一步的配置。

2.2 Hive环境的搭建

Hive 是一个构建在 Hadoop 之上的数据仓库软件,用于提供数据摘要、查询和分析。Hive 使得使用类 SQL 语法(HiveQL)查询数据变得简单,而这些查询会转换成 MapReduce、Tez 或 Spark 作业。为了搭建 Hive 环境,你需要先有一个运行中的 Hadoop 集群。

以下是在基于 Linux 的系统中搭建 Hive 环境的步骤:

  1. 安装 Java: Hive 需要 Java 环境,所以确保已经安装了 Java Development Kit (JDK)。
  2. 安装 Hadoop: Hive 是建立在 Hadoop 之上的,所以在安装 Hive 之前需要先安装并配置好 Hadoop。
  3. 下载 Hive: 从 Apache Hive 官方网站下载适合你系统的 Hive 版本的 tar.gz 压缩文件。
  4. 解压缩 Hive 安装包: 使用 tar -xzvf apache-hive-x.y.z-bin.tar.gz 命令将 Hive 的安装包解压到你选择的安装目录,例如/usr/local/hive
  5. 配置 Hive 环境变量: 打开你的 shell 配置文件(例如 .bashrc.bash_profile),添加下面的 Hive 环境变量和更新 PATH 变量。export HIVE_HOME=/path/to/hive export PATH=$PATH:$HIVE_HOME/bin 使配置生效,运行 source .bashrc 或者重启终端。
  6. 配置 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>
  7. 初始化 Metastore: Hive 存储元数据(表定义、列数据类型等)在一个叫 Metastore 的数据库中。你需要初始化 Metastore 数据库。默认情况下,Hive 使用内嵌的 Derby 数据库,你可以通过运行下面的命令来初始化它:schematool -dbType derby -initSchema 你也可以配置 Hive 使用外部数据库如 MySQL、PostgreSQL 等作为 Metastore,这通常在生产环境下推荐使用。

本文转载自: https://blog.csdn.net/m0_73799023/article/details/136387255
版权归原作者 波本,不加冰 所有, 如有侵权,请联系我们删除。

“数据仓库学习笔记一”的评论:

还没有评论