数仓工作的简单介绍和对比
技术 | 目的 |
---|---|
Hadoop | 生态环境,提供了一个可靠的共享存储和分析计算系统 |
HDFS | Hadoop 分布式文件系统,解决文件分布式存储的问题 |
MapReduce | 解决分布式的数据处理和分析 |
Hive | 分析和管理存储在HDFS中的数据 |
HBase | 解决数据的存储和检索 |
Spark | 支持流式处理和批处理(spark streaming) |
Storm | 流式计算 |
参考:https://cloud.tencent.com/developer/article/1711176
以Python为例
参考:https://cloud.tencent.com/developer/article/1711158
Hive最初是应Facebook每天产生的海量新兴社会网络数据进行管理和机器学习的需求而产生和发展的。
Hive是一种建立在Hadoop文件系统上的数据仓库架构,并对存储在HDFS中的数据进行分析和管理(也就是说对存储在HDFS中的数据进行分析和管理,我们不想使用手工,我们建立一个工具把,那么这个工具就可以是hive)。
Hive定义了一种类似SQL的查询语言,被称为HQL Hive可以允许用户编写自己定义的函数UDF,来在查询中使用。Hive中有3种UDF:
Hive设计图:
可以按照以下技术栈出现的顺序进行升级,目前阶段是打算把hive升级到spark,将spark streaming投入生产。后续向Beam靠拢。
presto是如何从存储在s3上读取数据的?
从hive的metastore读取表的metadata,然后直接去读s3
DAG(Directed Acyclic Graph)?airflow调度?
DAG的本意是有向无环图,数仓里面经常说的DAG是指由一系列有顺序的阶段组成的执行计划。将DAG扔给airflow调度执行即可
参考: