• 使用 Spark 和 Delta Lake 构建近实时数据仓库
    本文来自于2019年10月15日-17日荷兰首都阿姆斯特丹举行的 SPARK + AI SUMMIT Europe 2019 会议,议题名为《Near Real Time Data Warehousing with Apache Spark and Delta Lake》,分享者 Jasper Groot。本分享主要包括三部分Structed StreamingDelta Lake数据仓库Structed Streaming 从 Spark 2.0 开始引入,其 API 和 DataFrame 的 API 类似。下面我们来看看如何使用VACUUM 命令:到这里我们已经简要的介绍了 Structed Streaming 和 Delta Lake 是什么。我们把Structed Streaming 和 Delta Lake 放在一起,利用Structed Streaming的 DataFrame API、很好地处理迟到的数据以及可以和很多实时流数据源进行 Join。利用 Delta Lake 的 ACID 事务、事务日志以及相关文件管理,来构建数据仓库。写入到 Delta Lake 的数据可以用于 Adhoc 查询分析,或者使用 Spark 处理再将结果导出到 MySQL 中。
  • Spark Relational Cache实现亚秒级响应的交互式分析
    但是如果把数据放到内存中,将所有数据全部用作缓存可能也不足够,因此就催生出了Spark Relational Cache。Spark Relational Cache特点Spark Relational Cache希望能够达到秒级响应或者亚秒级响应,能够在提交SQL之后很快地看到结果。Spark Relational Cache支持自动更新,用户不需要担心因为插入了新的数据就使得Cache过时导致查询到错误的数据,这里面为用户提供了一些设置的规则,帮助用户去进行更新。当Query过来之后先判断Spark Relational Cache是否能够符合需求,进而实现对于预先计算好的结果进行过滤,进而得到最终想要的结果。Relational Cache增量的更新是基于分区实现的,后续会考虑集成一些更加智能的存储格式,来支持行级别的更新。
  • 一文了解 Apache Spark 3.0 动态分区裁剪(Dynamic Partition Pruning)
    在 Spark SQL 里面能够很好的处理这种情况,它会把 Date.day_of_week = 'Mon' 过滤条件下推到 Date 表的 Scan 之前进行:如果想及时了解Spark、Hadoop或者Hbase相关的文章,欢迎关注微信公共帐号:iteblog_hadoop动态分区裁剪上面 Spark SQL 进行的算子下推是不是不能再提升查询性能呢?所谓的动态分区裁剪就是基于运行时推断出来的信息来进一步进行分区裁剪。
  • 1年开发经验,25万年薪的1个捷径,98%Python程序员都不知道
    年薪25万其实很容易。尤其是对Python开发者来说,25万年薪很容易拿到,只要你抓住这个多数人都没抓住的机会。麦肯锡公司报告指出,大数据、人工智能方面人才紧缺,需求量激增。最新统计显示,人工智能相关人才平均年薪达到40-60万,经验丰富的可以拿到年薪100万以上。对于普通程序员来说,从事Hadoop大数据、数据挖掘相关工作是最佳选择,原因有三:1、门槛较低,有编程基础就能学会;2、相比其他开发岗位薪资要高10-20万,年薪25万只是最低水平。
  • 大数据计算引擎,选 Flink 还是 Spark?
    所以那会不断调优我们的写入数据到 ElasticSearch 的 Flink Job,然后也对 ElasticSearch 服务端做了不少的性能调优。03为什么要学习 Flink?专栏内容预备篇介绍实时计算常见的使用场景,讲解 Flink 的特性,并且对比了 Spark Streaming、Structured Streaming 和 Storm 等大数据处理引擎,然后准备环境并通过两个 Flink 应用程序带大家上手 Flink。
  • EMR 打造高效云原生数据分析引擎
    EMR-Jindo:云原生高效数据分析引擎下图展示了TPC-DS的基准测试报告,可以发现在2019年3月份10TB的测试中,性能指标得分是182万左右,成本是0.31 USD;而2019年十月份同样的测试性能指标得分已经变成526万,成本下降到0.53 CNY,也就是说经过半年左右性能提升了2.9倍,成本缩减到原来的四分之一。这些成绩的背后是EMR-Jindo引擎的支持。EMR-Jindo引擎架构主要分为两部分:Jindo-Spark:EMR内部全面优化的Spark高效计算引擎,可以处理多种计算任务;Jindo-FS:自研的云原生存储引擎,兼容开源HDFS的接口,兼顾性能与价格。其基本原理是运行时动态裁剪数据,避免不必要的计算。
  • Python才是世界上最好的语言
    Python是人工智能的未来。前不久电气和电子工程师协会发布了顶级编程语言交互排行榜:Python超越Java高居首位。而且随着大数据和人工智能的发展,Python受到了越来越多程序员的欢迎。1>>>简单易上手<<<Python 诞生之初被誉为最容易上手的编程语言。Python 的设计哲学强调代码的可读性和简洁的语法,使得Python比其他语言更加的简洁。
  • Flink 流式计算在节省资源方面的简单分析
    Flink 在小米的发展简介小米在流式计算方面经历了 Storm、Spark Streaming 和 Flink 的发展历程;从2019 年 1 月接触 Flink 到现在,已经过去了大半年的时间了。对 Flink 的接触越深,越能感受到它在流式计算方面的强大能力;无论是实时性、时间语义还是对状态计算的支持等,都让很多之前需要复杂业务逻辑实现的功能转变成了简洁的 API 调用。
  • Apache Spark 3.0 预览版正式发布,多项重大功能发布
    今天早上 06:53 数砖的 Xingbo Jiang 大佬给社区发了一封邮件,宣布 Apache Spark 3.0预览版正式发布,这个版本主要是为了对即将发布的 ApacheSpark 3.0版本进行大规模社区测试。无论是从 API 还是从功能上来说,这个预览版都不是一个稳定的版本,它的主要目的是为了让社区提前尝试 Apache Spark 3.0的新特性。Spark 3.0.0-preview 中主要特性和变化的完整列表请参阅这里。而 Apache Spark 3.0 的 Adaptive Query Execution 是基于 SPARK-9850 的思想而实现的,具体参见SPARK-23128。SPARK-23128 的目标是实现一个灵活的框架以在 Spark SQL 中执行自适应执行,并支持在运行时更改 reducer 的数量。在 Apache Hadoop 3.1 版本里面已经开始内置原生支持 GPU 和 FPGA了。在 Spark 内部,需要在 scheduler 层面做出修改,使得
  • Apache Flink在小米的发展和应用
    本文由小米的王加胜同学分享,文章介绍了 Apache Flink 在小米的发展,从 Spark Streaming 迁移到 Flink ,在调度计算与调度数据、Minibatch与streaming、数据序列化等方面对比了SparkStreaming和Flink的一些区别。Flink 在小米的发展简介小米在流式计算方面经历了 Storm、Spark Streaming 和 Flink 的发展历程;从2019 年 1 月接触 Flink 到现在,已经过去了大半年的时间了。这个 Spark Streaming 测试作业的 batch interval 是 10s,大部分 batch 能够在 8s 左右运行完,偶尔抖动的话会有十几秒,但是当晚高峰流量上涨之后,这个 Spark Streaming 作业就会开始拥堵了,而 Flink 使用 32 个 CPU Core 却没有遇到拥堵问题。
  • R&Python Data Science 系列:数据处理(4)长宽格式数据转换
    平时数据分析的时候,无法保证导入的数据一定是什么格式,因此需要了解长宽格式数据之间如何相互转换。R语言中,主要介绍pivot_wide()和pivot_long()这两个函数,另外4个函数可以参考长宽格式数据相互转换这篇文章。3 长转宽函数Python实现两种方法: 1 pandas库中的pivot()和privot_table()函数; 2 dfply库中的spread()函数;方法一:##构造数据 long_data = pd.DataFramelong_data >>= selectlong_data##使用pivot()import pandas as pdimport numpy as npfrom dfply import *###长格式数据转换成宽格式数据from pandas import *long_data.pivot 参数columns是长格式数据中的key键对应的列名;参数values是长格式数据中的value对应的列。
  • 数据处理遇到麻烦不要慌,5个优雅的Numpy函数助你走出困境
    本文作者将分享 5 个优雅的 Python Numpy 函数,有助于高效、简洁的数据处理。在 reshape 函数中使用参数-1Numpy 允许我们根据给定的新形状重塑矩阵,新形状应该和原形状兼容。这仅仅表明它是一个未知的维度,我们希望 Numpy 来算出这个未知的维度应该是多少:Numpy 将通过查看数组的长度和剩余维度来确保它满足上述标准。a=np.arraya.shape(2,4)假设我们给定行参数为 1,列参数为-1,那么 Numpy 将计算出 reshape 后的列数为 8。Numpy 的 argpartion 函数可以高效地找到 N 个最大值的索引并返回 N 个值。Numpy 内置的 Clip 函数可以解决这个问题。Numpy clip () 函数用于对数组中的值进行限制。这等价于两个数组元素集合的差集。
  • Apahce Hudi: 建立在Hadoop之上剑指数据湖的增量处理框架
    随着Apache Parquet和Apache ORC等存储格式以及Presto和Apache Impala等查询引擎的发展,Hadoop生态系统有潜力作为面向分钟级延时场景的通用统一服务层。专注于分享Apache Hudi相关的技术及源码解读。一言以蔽之,Hudi是一种针对分析型业务的、扫描优化的数据存储抽象,它能够使HDFS数据集在分钟级的时延内支持变更,也支持下游系统对这个数据集的增量处理。Hudi数据集的存储Hudi数据集的组织目录结构与Hive表示非常相似,一份数据集对应这一个根目录。Compactions - 用于协调Hudi内部的数据结构差异的后台活动。
  • R&Python Data Science系列:数据处理(5)--字符串函数基于R(一)
    1 目录三种数据结构简介R与Python字符串函数字符串函数-基于R字符串函数--基于Python2 三种数据结构 数据根据结构分为三种:结构化数据、非结构化数据、半结构化数据。3 R与Python字符串函数 R语言中推荐使用stringr包里面的函数进行字符串处理,Python中有正则表达式库re和内置的字符串string包。当前R语言和Python是两门最重要的数据科学工具,本系列主要介绍R和Python在数据导入、数据转换、可视化以及模型构建上的使用."catcatstr_sub() 根据指定开始和结束位置提取字符串子集。
  • Apache Spark 3.0 预览版正式发布,多项重大功能发布
    2019年11月08日,数砖宣布 Apache Spark 3.0预览版正式发布,这个版本主要是为了对即将发布的 Apache Spark 3.0版本进行大规模社区测试。这个想法主要来自英特尔以及百度的大牛,具体参见SPARK-9850而 Apache Spark 3.0 的 Adaptive Query Execution 是基于 SPARK-9850 的思想而实现的,具体参见SPARK-23128。在 Apache Hadoop 3.1 版本里面已经开始内置原生支持 GPU 和 FPGA 了。因为让 Apache Spark 支持 GPU 是一个比较大的特性,所以项目分为了几个阶段。在 Apache Spark 3.0 版本,将支持在 standalone、 YARN 以及 Kubernetes 资源管理器下支持 GPU,并且对现有正常的作业基本没影响。而且对于一张 GPU 卡内的细粒度调度也不会在这个版本支持;Apache Spark 3.0 版本将把一张 GPU 卡和其内存作为不可分割的单元。
  • 面试注意点 | Spark&Flink的区别拾遗
    那么flink在这方面很好,structured Streaming也是可以,但是spark Streaming就比较弱了,只有个别状态维护算子upstatebykye等,大部分状态需要用户自己维护,虽然这个对用户来说有更大的可操作性和可以更精细控制但是带来了编程的麻烦。flink和Structured Streaming都支持自己完成了join及聚合的状态维护。Structured Streaming有高级的算子,用户可以完成自定义的mapGroupsWithState和flatMapGroupsWithState,可以理解类似Spark Streaming 的upstatebykey等状态算子。就拿mapGroupsWithState为例:由于Flink与Structured Streaming的架构的不同,task是常驻运行的,flink不需要状态算子,只需要状态类型的数据结构。
  • 大数据之Hadoop如何快速入门,想不想知道?
    为什么要学习大数据?我国大数据发展的最主要推动者来自于大型互联网公司、政府机构等!4》最后学完参加阿里云的大数据认证考试,基于核心技术及岗位的阿里云权威认证截止今天,我们已培养全国各行业大数据工程师有7W+程序猿,获取到阿里云大学工程师技术认证证书。
  • 面试注意点 | Spark&amp;Flink的区别拾遗
    Flink支持与维表进行join操作,除了map,flatmap这些算子之外,flink还有异步IO算子,可以用来实现维表,提升性能。那么flink在这方面很好,structured Streaming也是可以,但是spark Streaming就比较弱了,只有个别状态维护算子upstatebykye等,大部分状态需要用户自己维护,虽然这个对用户来说有更大的可操作性和可以更精细控制但是带来了编程的麻烦。flink和Structured Streaming都支持自己完成了join及聚合的状态维护。Structured Streaming有高级的算子,用户可以完成自定义的mapGroupsWithState和flatMapGroupsWithState,可以理解类似Spark Streaming 的upstatebykey等状态算子。
公众号