> 企业级数仓架构设计与选型的时候需要从开发的便利性、生态、解耦程度、性能、 安全这几个纬度思考。本文作者:惊帆 来自于数据平台 EMR 团队# 前言Apache Hive 经过多年的发展,目前基本已经成了业界构建超大规... 当任务发生错误的时候可以以低成本的方式快速恢复,尽可能避免因为部分节点状态异常导致整个任务完全失败。可以发现在这样的诉求下类似于 Presto,Doris,ClickHouse 就很难满足这样的要求,而像 Hive,Spark 这类计算...
SparkSQL进行企业级数仓建设的实践。> > > > ![picture.image](https://p6-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/d4575e471ebc416380aed110a0cf377c~tplv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=1716135656&x-signature=qeodL%2BLc4wsVNwlNM28YHQTrIHU%3D) 文 | **惊帆** 来自 字节跳动数据平台EMR团队EMR 前言Apache Hive 经过多年的发展,目前基...
第二个部分则重点介绍了字节跳动数据平台在通过 SparkSQL 进行企业级数仓建设的实践。![picture.image](https://p6-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/ef21ba68a716490c9a8bf873d5c7ecc2~tp... Apache Hive 经过多年的发展,目前基本已经成了业界构建超大规模数据仓库的事实标准和数据处理工具,Hive 已经不单单是一个技术组件,而是一种设计理念。Hive 有 JDBC 客户端,支持标准 JDBC 接口访问的 HiveServer2 服...
Apache Storm、Spark、Flink 等都支持与 Kafka 集成。* **RocketMQ** 是阿里开源的消息中间件,目前已经捐献个 Apache 基金会,它是由 Java 语言开发的,具备高吞吐量、高可用性、适合大规模分布式系统应用等特点,经历过双十一的洗礼,实力不容小觑。* **Pulsar** 是 Apache 软件基金会的顶级项目,是下一代云原生分布式消息流平台,集消息、存储、轻量化函数式计算为一体,采用计算与存储分离架构设计,支持多租户、持久化存储、多机...
多出现在日志级别的监控上,一般会在数据接入的时候来做数据完整性校验。* **准确性**:指数据中记录的信息和数据是否准确,是否存在异常或者错误。一般准确性的监控多集中在对业务结果数据的监控,比如每日的活跃、... 一般直接依赖于 Spark 引擎或者 Hive 引擎计算即可。确实,其实这也是我们数据质量最开始的样子。那为什么会演化到目前这样,我们面临了一些什么问题?首先是场景需求非常复杂:1. 离线监控不再多说了,大家都熟悉...
只能通过 PySpark 的方式对于算法工程师来说不太友好。* Apache Iceberg 是一种开放的表格式,记录了一张表的元数据:包括表的 Schema、文件、分区、统计信息等。这种元数据计算具备高拓展性,为数据湖管理提供了更好... 为了提速特征调研迭代周期我们已经广泛将其应用于特征工程的流程中。在一些业务中含有多个高潜力的特征集,算法同学可以在各自的分支上进行并行回填、调研、训练。当调研模型指标满足预期后,用户可以提交工单进行分...
只能通过 PySpark 的方式对于算法工程师来说不太友好。- Apache Iceberg 是一种开放的表格式,记录了一张表的元数据:包括表的 Schema、文件、分区、统计信息等。这种元数据计算具备高拓展性,为数据湖管理提供了更... 为了提速特征调研迭代周期我们已经广泛将其应用于特征工程的流程中。在一些业务中含有多个高潜力的特征集,算法同学可以在各自的分支上进行并行回填、调研、训练。当调研模型指标满足预期后,用户可以提交工单进行分...
构建SparkSQL服务器最好的方式是用如上Java接口,且大数据生态下行业已有标杆例子,即Hive Server2。Hive Server2在遵循Java JDBC接口规范上,通过对数据操作的方式,实现了访问Hive服务。除此之外,Hive Server2在实现上,与MySQL等关系型数据稍有不同。首先,Hive Server2本身是提供了一系列RPC接口,具体的接口定义在org.apache.hive.service.rpc.thrift包下的TCLIService.Iface中,部分接口如下:```public TOpenSessionResp Open...
多出现在日志级别的监控上,一般会在数据接入的时候来做数据完整性校验。- **准确性**:指数据中记录的信息和数据是否准确,是否存在异常或者错误。一般准确性的监控多集中在对业务结果数据的监控,比如每日的活跃、... 一般直接依赖于 Spark 引擎或者 Hive 引擎计算即可。确实,其实这也是我们数据质量最开始的样子。那为什么会演化到目前这样,我们面临了一些什么问题?首先是场景需求非常复杂:1. 离线监控不再多说了,大家都熟悉...
上游数据出错了,可以请他们发起深度回溯,统一修数。# 选型2019 年末,在决定要支持 Notebook 任务的时候,我们调研了许多 Notebook 的实现,包括 Jupyter、Polynote、Zeppelin、Deepnote 等。Jupyter Notebook 是... 我们首先以 Spark Kernel 的形式对接了字节跳动内部的 YARN 集群。Kernel 以 PySpark 的形式在 Cluster 模式的 Spark Driver 运行,并提供一个默认的 Spark Session。用户可以通过在 Driver 上的 Kernel,直接发起运...
spark.sql.catalog.spark_catalog=org.apache.spark.sql.delta.catalog.DeltaCatalog"2.3 PySparkPySpark 默认用的 python 环境由环境变量 PYSPARK_PYTHON 在 spark-env.sh 中定义。EMR 已经将系统对应版本的 delt... 没有做这个动作直接删除 Delta 表的元数据会造成表损坏,并且无法恢复。同理,Delta 不允许任何不经 Delta 本身的直接操作元数据的行为。更多命令参见:https://docs.delta.io/latest/delta-utility.html 4 查询Spar...
上游数据出错了,可以请他们发起深度回溯,统一修数。# 选型2019 年末,在决定要支持 Notebook 任务的时候,我们调研了许多 Notebook 的实现,包括 Jupyter、Polynote、Zeppelin、Deepnote 等。Jupyter Notebook 是... 我们首先以 Spark Kernel 的形式对接了字节跳动内部的 YARN 集群。Kernel 以 PySpark 的形式在 Cluster 模式的 Spark Driver 运行,并提供一个默认的 Spark Session。用户可以通过在 Driver 上的 Kernel,直接发起运...
上游数据出错了,可以请他们发起深度回溯,统一修数。# 选型2019 年末,在决定要支持 Notebook 任务的时候,我们调研了许多 Notebook 的实现,包括 Jupyter、Polynote、Zeppelin、Deepnote 等。Jupyter Notebook 是... 我们首先以 Spark Kernel 的形式对接了字节跳动内部的 YARN 集群。Kernel 以 PySpark 的形式在 Cluster 模式的 Spark Driver 运行,并提供一个默认的 Spark Session。用户可以通过在 Driver 上的 Kernel,直接发起运...