数据仓库学习笔记一

这篇具有很好参考价值的文章主要介绍了数据仓库学习笔记一。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一.数据仓库概述

数据仓库(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,这通常在生产环境下推荐使用。文章来源地址https://www.toymoban.com/news/detail-843442.html

到了这里,关于数据仓库学习笔记一的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 机器学习——数据仓库与数据挖掘——期末复习(简答题)

    1 、试述真正例率(TPR)、假正例率(FPR)与查准率(P)、查全率(R)之间的联系。 查全率: 真实正例被预测为正例的比例 真正例率: 真实正例被预测为正例的比例 查全率与真正例率是相等的。 查准率:预测为正例的实例中真实正例的比例 假正例率: 真实反例被预测为正例的

    2024年02月10日
    浏览(36)
  • 数仓学习---15、数据仓库工作流调度

    工具部署链接 1.2.1 用户行为日志 1、启动日志采集通道,包括Kafka、Flume等 (1)启动Zookeeper (2)启动Kafka (3)启动Flume 2、修改日志模拟器配置文件 修改hadoop102和hadoop103两台节点中的/opt/module/applog/application.yml文件,修改mock.date参数如下。 3、执行日志生成脚本 4、观察HDFS上

    2024年02月15日
    浏览(28)
  • 机器学习——数据仓库与数据挖掘复习(选择题、判断题)

    1. 以下不是分类问题的是(  B )。 A. 用户流失模型 B. 身高和体重关系 C. 信用评分 D. 营销响应 2. 对于回归分析,下列说法错误的是( D ) A. 在回归分析中,变量间的关系若是非确定关系,那么因变量不能由自变量唯一确定 B. 线性相关系数可以是正的,也可以是负的 C. 回归

    2024年02月06日
    浏览(36)
  • 数据仓库的数据科学与机器学习:实现智能化的数据分析

    数据仓库是一种用于存储和管理大量结构化数据的系统,它通常用于企业和组织的业务分析和决策支持。数据科学和机器学习是数据分析的两个重要领域,它们可以帮助企业和组织从大量数据中发现隐藏的知识和模式,从而提高业务效率和竞争力。 在过去的几年里,随着数据

    2024年04月13日
    浏览(37)
  • 【AI产品测评】垂直领域——AI智能招聘|拉钩招聘HrMind、科大讯飞星火大模型、百度文心一言、金山办公WPSAI 各显神通

    原文地址:【AI产品测评】垂直领域——AI智能招聘|拉钩招聘HrMind、科大讯飞星火大模型、百度文心一言、金山办公WPSAI 各显神通

    2024年02月16日
    浏览(32)
  • 大数据:【学习笔记系列】 Flink 学习路线

    Apache Flink 是一种高效、可扩展的 实时流处理框架 ,它允许开发者以 实时方式处理连续的数据流 。学习 Flink 要求你具备一定的编程基础(尤其是 Java 或 Scala),同时对大数据处理的基本概念有所了解。下面是一个详细的 Flink 学习路线,包括各阶段的学习目标和推荐资源。

    2024年04月23日
    浏览(24)
  • 机器学习笔记 - 从2D数据合成3D数据

            人们一致认为,从单一角度合成 3D 数据是人类视觉的一项基本功能,这对计算机视觉算法来说极具挑战性。但随着 LiDAR、RGB-D 相机(RealSense、Kinect)和 3D 扫描仪等 3D 传感器的可用性和价格的提高,3D 采集技术的最新进展取得了巨大飞跃。         与广泛使用

    2024年02月01日
    浏览(31)
  • 数据结构-学习笔记

     注意:该文章摘抄之百度,仅当做学习笔记供小白使用,若侵权请联系删除! 什么是数据结构? 数据结构是计算机存储、组织数据的方式。 数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。 结构包括逻辑结构和物理结构。 数据的逻辑结构包括4种  (1)集

    2024年01月23日
    浏览(44)
  • 数据结构学习笔记(王道)

    PS:本文章部分内容参考自王道考研数据结构笔记 1.1. 数据结构 数据:是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。 数据元素:数据的基本单位,一个数据元素可由若干数据项组成。 数据项:数据的不可分割的最

    2024年02月03日
    浏览(192)
  • 【大数据】Flink学习笔记

    核心目标: 数据流上有状态的计算 Stateful computation over data stream Flink: 一个 框架 和 分布式处理引擎 , 对有界和无界的数据流进行有状态计算 Flink是事件驱动型的应用 有界数据流: 有定义流的开始, 但没有定义流的结束; 而有界数据流即有流的开始, 也有结束 状态: 把流处理需要

    2024年04月13日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包