0%

Flink头图

Apache Flink 是一个开源的流处理框架,具有强大的 流处理批处理 能力,主要由 Java 代码实现,支持使用 Java、Scala 和 Python 等语言开发。

Flink 的主要特性包括:批流一体化、精密的状态管理、事件时间支持以及精确一次的状态一致性保障等。Flink 集成了所有常见的集群资源管理器,例如 Hadoop YARN、 Apache Mesos 和 Kubernetes,但同时也可以作为独立集群运行。

阅读全文 »

本项目主要解决 check 和 opinion2 张历史数据表(历史数据是指当业务发生过程中的完整中间流程和结果数据)的在线查询。原实现基于 Oracle 提供存储查询服务,随着数据量的不断增加,在写入和读取过程中面临性能问题,且历史数据仅供业务查询参考,并不影响实际流程,从系统结构上来说,放在业务链条上游比较重。本项目将其置于下游数据处理 Hadoop 分布式平台来实现此需求。下面列一些具体的需求指标:

  • 数据量:目前 check 表的累计数据量为 5000w+ 行,11GB;opinion 表的累计数据量为 3 亿 +,约 100GB。每日增量约为每张表 50 万 + 行,只做 insert,不做 update。
  • 查询要求:check 表的主键为 id(Oracle 全局 id),查询键为 check_id,一个 check_id 对应多条记录,所以需返回对应记录的 list; opinion 表的主键也是 id,查询键是 bussiness_no 和 buss_type,同理返回 list。单笔查询返回 List 大小约 50 条以下,查询频率为 100 笔 / 天左右,查询响应时间 2s。
阅读全文 »

HBase头图

HBase是一个开源的非关系型分布式数据库(NoSQL),它参考了谷歌的BigTable建模,实现的编程语言为 Java。它是Apache软件基金会的Hadoop项目的一部分,运行于HDFS文件系统之上,为 Hadoop 提供类似于BigTable 规模的服务。因此,它可以对稀疏文件提供极高的容错率。

阅读全文 »

Spark SQL is Apache Spark’s module for working with structured data.

Spark SQL 是 Spark 用来处理结构化数据的一个模块,它提供了一个编程抽象叫作 DataFrame,并且作为分布式 SQL 查询引擎。

阅读全文 »

RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是 Spark 中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。RDD具有数据流模型的特点:自动容错、位置感知性调度和可伸缩性。RDD允许用户在执行多个查询时显式地将数据缓存在内存中,后续的查询能够重用这些数据,这极大地提升了查询速度。

阅读全文 »

Spark头图

Spark 是专为大规模数据处理而设计的快速通用的计算引擎。对比 Hadoop 的 MapReduce 会在运行完工作后将中间数据存放到磁盘中,Spark 可以将 Job 中间输出结果保存在内存中,从而不再需要读写 HDFS,因此 Spark 能更好地适用于数据挖掘与机器学习等需要迭代的 MapReduce 的算法。Spark 是在 Scala 语言中实现的,它将 Scala 用作其应用程序框架。

阅读全文 »

Impala头图

Impala 是 Cloudera 公司主导开发的新型查询系统,它提供SQL语义,能查询存储在Hadoop的HDFS和HBase中的PB级大数据。已有的Hive系统虽然也提供了SQL语义,但由于Hive底层执行使用的是MapReduce引擎,仍然是一个批处理过程,难以满足查询的交互性。相比之下,Impala的最大特点也是最大卖点就是它的快速。

阅读全文 »

Sqoop_logo

Sqoop是一款开源的工具,主要用于在Hadoop的文件存储系统(HDFS、HIVE、HBASE)与传统的数据库(MySQL、Oracle)间进行数据的传递,可以将关系型数据库中的数据导进到Hadoop文件存储系统中,也可以将Hadoop文件存储系统中的数据导进到关系型数据库中。

阅读全文 »

Hive 提供了类SQL的语法(HQL),封装了底层的 MapReduce 过程。

目录 概述
操作数据库 创建、修改、删除数据库,查看数据库描述信息
操作数据表 数据类型、复杂数据类型用例、数据类型转换,创建、修改、删除表,查看表的信息
插入数据 INSERT 关键字的使用
加载数据 LOAD 关键字的使用
多表插入与动态分区插入 扫描一遍源表就可以生成多个不相交的输出;在插入数据到分区表时,根据源表的列值自动创建分区
导入导出表数据 EXPORTIMPORT 关键字的使用
保存查询结果 保存查询结果到本地、HDFS 或 Hive 表
清空表数据 TRUNCATE 关键字的使用
查询数据 SELECT 关键字的使用
常用聚合函数 COUNTMAXMINSUMAVG 聚合函数的使用
分组 GROUP BYHAVING 关键字的使用
排序 ORDER BYSORT BYDISTRIBUTE BYCLUSTER BY 关键字的使用
连接 内连接、外连接、多表连接、分桶表连接
抽样 块抽样、分桶抽样、随机抽样
其他内置函数 日期函数、时间戳函数、字符函数、条件函数、窗口函数、排名函数、行转列、列转行
案例 复制分区表、统计分析与排名、ETL
阅读全文 »