10 天前 / 逗逗
Spark 基础 Spark 特性 Spark 使用简练优雅的 Scala 语言编写,基于 Scala 提供了交互式编程体验,同时提供多种方便易用的 API。Spark 遵循“一个软件栈满足不同应用场景”的设计理念,逐渐形成了一套完整的生态系统(包括 Spark 提供内存计算框架、SQL 即席查询(Spark SQL)、流式计算(Spark Streaming)、机器学习(MLlib)、图计算(Graph X)等),Spark 可以部署在 yarn 资源管理器上,提供一站式大数据解决方案,可以同时支持批处理、流处理、交互式查询。
44 天前 / 过往记忆大数据
本文来自 11 月举办的Data + AI Summit 2020(原 Spark+AI Summit),主题为《Materialized Column- An Efficient Way to Optimize Queries on Nested Columns》的分享,作者为字节跳动的郭俊。 在数据仓库领域,使用复杂类型(如 map)中的一列或多列,或者将许多子字段放入其中的场景是非常常见的。这些操作可能会极大地影响查询性能,因为: 这些操作非常废 IO。比如我们有一个字段类型为 Map,其包含数十个子字段那么在读取这列时需要把整个列都读出来。并且 Spark 将遍历整个 map 获得目标键的值。在读取嵌套类型列时不能利用向量化读取。
60 天前 / 逗逗
导语 |Apache Spark 是专为大规模数据处理而设计的快速通用计算引擎,在数据挖掘和机器学习领域有着广泛的应用,现在也已形成一个高速发展、应用广泛的生态系统。本文将为大家详细介绍 Spark 的核心技术原理,希望与大家一同交流。文章作者:熊峰,腾讯大数据研发工程师。 一、Spark 介绍及生态 Spark 是 UC Berkeley AMP Lab 开源的通用分布式并行计算框架,目前已成为 Apache 软件基金会的顶级开源项目。至于为什么我们要学习 Spark,可以总结为下面三点: 1. Spark 相对于 hadoop 的优势 (1)高性能 Spark 具有 hadoop MR 所有的优点...
62 天前 / 过往记忆大数据
本文来自上周(2020-11-17 至 2020-11-19)举办的Data + AI Summit 2020(原 Spark+AI Summit),主题为《Spark SQL Beyond Official Documentation》的分享,作者 David Vrba,是 Socialbakers 的高级机器学习工程师。 实现高效的 Spark 应用程序并获得最大的性能为目标,通常需要官方文档之外的知识。理解 Spark 的内部流程和特性有助于根据内部优化设计查询,从而在执行期间实现高效率。在这次演讲中,我们将重点讨论 Spark SQL 的一些官方文档中没有很好描述的内部特性,重点在一些基本示例上解释这些特性,同时分享一些性能技巧。
68 天前 / 浪尖
一:资源配置 一般企业中,物理机器的 cpu:内存基本上都是 1:4+,比如机器 24core,一般有 128GB 及以上内存;48core,一般有 256GB 及以上内存。 减去系统及 hdfs 所需 core,2 个吧;减去系统的 2-4GB,减去存储 hdfs 的相关的假设 20GB 吧 (hbase 需要的更多点,但是一般 hbase 会有独立集群)。 24core,128GB 的机器应该还剩还有 20core,100GB。 这种情况下,很明显,你 1core 对应 5GB 内存才能最大化利用机器,否则往往 cpu 没了,内存还有大把,应用还容易出现 gc 问题。
71 天前 / 浪尖
一 引用基本概念 如下面,定义两个变量 num,str,存储模型大致如下图: int num = 6;String str = “浪尖聊大数据”; 变量 num 值直接从 6 修改为了 8;变量 str 只是修改了其保存的地址,从 0x88 修改为 0x86,对象“浪尖聊大数据”本身还在内存中,并没有被修改。只是内存中新增了对象“浪尖是帅哥”。 二 值传递 & 引用传递 举例说明引用传递和值传递: 第一个栗子:基本类型 void foo(int value) { value = 88;}foo(num); // num 没有被改变 第二个栗子:没有提供改变自身方法的引用类型 void foo(String text) {text="mac";}foo(str); // str 也...
77 天前 / 开发者头条
大家好,我是周刊菌。 「码农周刊 VIP 会员」推出 29 周啦!感谢亲们的大力支持!第 029 期「码农周刊 VIP 会员专属邮件周报」已发送完毕,请注意查收。 告诉大家一个好消息:已有数位上市公司 CTO 低调订阅了我们的「码农周刊 VIP 会员专属邮件周报」,感谢肯定! 以下内容选自「码农周刊 VIP 会员」圈子,每日更新,精彩不断。 「码农周刊 VIP 会员」是什么? 简介版 码农周刊 VIP 会员 = 全年 52 期「VIP 会员专属邮件周报」 + 只限 VIP 会员加入的交流圈子 + 大厂「内推机会」 + N 多福利 详细版 点击「阅读原文」即可查看详细介绍 加入「码农周刊 VIP...
97 天前 / sjf0115
本文来自IBM 东京研究院的高级技术人员 Kazuaki Ishizaki 博士在 Spark Summit North America 2020 的 《SQL Performance Improvements at a Glance in Apache Spark 3.0》议题的分享,本文视频参见今天的推文第三条。PPT请关注过往记忆大数据并后台回复 sparksql3获取。 Spark 3.0正式版在上个月已经发布了,其中更新了很多功能,参见过往记忆大数据的Apache Spark 3.0.0 正式版终于发布了,重要特性全面解析。本文将介绍 Spark 3.0 在 SQL 方面的优化。
124 天前 / 过往记忆大数据
本文来自 SPARK + AI SUMMIT 2020北美会议,分享者来自字节跳动的郭俊。Bucket 在 Hive 和 Spark SQL 中普遍使用,用于消除 Join 或者 group-by-aggregate 场景下的 Shuffle 操作。本文主要介绍字节跳动在 Bucket 方面的优化。 本文主要从以下四个方面介绍: Spark SQL 在字节跳动的应用 什么是分桶 Spark 分桶的限制 字节跳动在分桶方面的优化 下面是 Spark SQL 在字节跳动的应用。 2016 年主要是小规模的测试阶段 2017 年用于处理 Ad-hoc工作负载 2018 年在生产环境下处理少量的 ETL 管道工作; 2019 年在生产环境下全面部署; 2020 年成为 DW 领域的主...
147 天前 / reesunhuang
分享嘉宾:陈迪豪第四范式架构师 编辑整理:刘璐 出品平台:第四范式天枢、DataFunTalk 导读:特征工程在推荐系统中有着举足轻重的作用,大规模特征工程处理的效率极大的影响了推荐系统线上的性能。第四范式作为国际领先的机器学习和人工智能技术与平台服务提供商,面向大规模特征工程问题开发了下一代离线在线一致性特征抽取引擎 FESQL,针对 AI 场景支持 SQL 接口,兼容 Spark 3.0 同时提供高性能的 Native 执行引擎。
165 天前 / b_aihe
RDD 的宽依赖和窄依赖宽依赖和窄依赖深度剖析图由于 RDD 是粗粒度的操作数据集,每个 Transformation 操作都会生成一个新的 RDD,所以 RDD 之间就会形成类似流水线的前后依赖关系;RDD 和它依赖的父 RDD(s)的关系有两种不同的类型,即窄依赖(Narrow Dependency)和宽依赖(Wide Dependency)。 窄依赖指的是子 RDD 只依赖于父 RDD 中一个固定数量的分区。 宽依赖指的是子 RDD 的每一个分区都依赖于父 RDD 的所有分区。
191 天前 / 过往记忆大数据
本文来自 Data Mechanics 的 CEO Jean-Yves Stephan 和 CTO Julien Dumazert 在 Spark Summit North America 2020 的 《Running Apache Spark on Kubernetes: Best Practices and Pitfalls》议题的分享。相关视频参见视频|在 Kubernetes 上运行 Spark 的最佳实践和陷阱,PPT 可以到你要的 Spark AI Summit 2020 PPT 我已经给你整理好了获取。 近年来,K8S 在业界越来越流行,由于其有很多优点,很多企业将应用部署到 K8S 中,Spark 从 2.3 版本开始支持使用 K8S 作为资源管理器,参见 https://issues.apache.org/jira/browse/SPARK-18278。
203 天前 / OPPO互联网技术
Spark SQL 小文件是指文件大小显著小于 hdfs block 块大小的的文件。过于繁多的小文件会给 HDFS 带来很严重的性能瓶颈,对任务的稳定和集群的维护会带来极大的挑战。 一般来说,通过 Hive 调度的 MR 任务都可以简单设置如下几个小文件合并的参数来解决任务产生的小文件问题: sethive.merge.mapfiles=true; sethive.merge.mapredfiles=true; sethive.merge.size.per.task=xxxx; sethive.merge.smallfiles.avgsize=xxx; 然而在我们将离线调度任务逐步从 Hive 迁移到 Spark 的过程中,由于 Spark 本身并不支持小文件合并功能,小文件问题日益突出...
212 天前 / Linx___
MongoSpark 为入口类,调用 MongoSpark.load,该方法返回一个 MongoRDD 类对象,Mongo Spark Connector 框架本质上就是一个大号的自定义 RDD,加了些自定义配置、适配几种分区器规则、Sql 的数据封装等等,个人认为相对核心的也就是分区器的规则实现;弄清楚了其分析器也就搞明白了 Mongo Spark Connector 。 当前实现的分区器(Partitioner):MongoPaginateByCountPartitioner基于总数的分页分区器 MongoPaginateBySizePartitioner基于大小的分页分区器 MongoSamplePartitioner基于采样的分区器 MongoShardedPartitioner基于分片的分区器 MongoSinglePar...
212 天前 / iyacontrol
首发于 kubernetes solutions 写文章在 Kubernetes 上集成 Argo 工作流和 sparkiyacontrol 专注云原生,活跃于多个开源项目。 在我的第一篇文章中,我谈到了 Argo CD。这次是 Argo Workflow,它又来自 Argo 项目,Kubernetes 上的 Spark,以及我们如何使两者一起工作。 Argo Workflow Argo Workflow 是一个云原生工作流引擎,我们可以在其中编排具有任务序列的作业(工作流中的每个步骤都作为容器)。使用工作流定义,我们可以使用 DAG 捕获任务之间的依赖关系。