数据仓库学习笔记一

一.数据仓库概述

数据仓库(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.xml`,`hdfs-site.xml`,`yarn-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,这通常在生产环境下推荐使用。

  • 30
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值