Apache Spark

第一天:什么是Flink、WordCount入门、Flink安装、并行度

扶醉桌前 提交于 2020-07-28 18:47:32
1. 初识 Flink 在当前数据量激增的时代,各种业务场景都有大量的业务数据产生,对于这些不断产 的数据应该如何进行有效的处理,成为当下大多数公司所面临的问题。目前比较流行的大数据处理引擎 Apache Spark ,基本上已经取代了 MapReduce 成为当前大数据处理的标准。但 对实时数据处理来说,Apache Spark 的 Spark-Streaming 还有性能改进的空间。对于 Spark-Streaming 的 流计算本质上还是批(微批)计算 ,Apache Flink 就是近年来在开源社区不断发展的技术中的能够同时支持 高吞吐 、 低延迟 、 高性能 的纯实时的分布式处理框架(主要贡献者是阿里,QPS可达30W+)。 Flink 是什么 1. Flink 的发展历史 在 2010 年至 2014 年间,由柏林工业大学、柏林洪堡大学和哈索普拉特纳研究所联合发 起名为 Stratosphere:Information Management on the Cloud 研究项目,该项目在当时的社区逐渐具有了一定的社区知名度。 2014 年 4 月,Stratosphere 代码被贡献给 Apache 软件基金会,成为 Apache 基金会孵化器项目。初期参与该项目的核心成员均是 Stratosphere 曾经的核心成员,之后团队的大部分创始成员离开学校,共同创办了一家名叫

Flink 与 Hive 的磨合期

匆匆过客 提交于 2020-07-28 17:48:18
有不少读者反馈,参考上篇文章《 Hive 终于等来了 Flink 》部署 Flink 并集成 Hive 时,出现一些 bug 以及兼容性等问题。虽已等来,却未可用。所以笔者增加了这一篇文章,作为姊妹篇。 回顾 在上篇文章中,笔者使用的 CDH 版本为 5.16.2,其中 Hive 版本为 1.1.0(CDH 5.x 系列 Hive 版本都不高于 1.1.0,是不是不可理解),Flink 源代码本身对 Hive 1.1.0 版本兼容性不好,存在不少问题。为了兼容目前版本,笔者基于 CDH 5.16.2 环境,对 Flink 代码进行了修改,重新打包并部署。 其实经过很多开源项目的实战,比如 Apache Atlas,Apache Spark 等,Hive 1.2.x 和 Hive 1.1.x 在大部分情况下,替换一些 Jar 包,是可以解决兼容性的问题。对于笔者的环境来说,可以使用 Hive 1.2.1 版本的一些 Jar 包来代替 Hive 1.1.0 版本的 Jar 包。在本篇文章的开始部分,笔者会解决这个问题,然后再补充上篇文章缺少的实战内容。 剪不断理还乱的问题 根据读者的反馈,笔者将所有的问题总结为三类: Flink 如何连接 Hive 除了 API 外,有没有类似 spark-sql 命令 识别不到 Hadoop 环境或配置文件找不到 依赖包、类或方法找不到 1.

Standalone模式下_taskScheduler和executor运行原理解密

…衆ロ難τιáo~ 提交于 2020-07-28 15:49:06
环境: spark 2.3.3 scala 2.11.8 Java 1.8.0_141 _taskScheduler和executor运行的代码调用流程,如下图所示: 将上述过程,整理简图如下: 下面进行具体说明: 一:Spark Executor工作原理: 1.创建并启动TaskScheduler 在SparkContext中调用内部方法createTaskScheduler创建TaskScheduler,并启动TaskScheduler; 1.1在Standalone模式下createTaskScheduler匹配到如下代码: SparkContext: case SPARK_REGEX(sparkUrl) => val scheduler = new TaskSchedulerImpl(sc) val masterUrls = sparkUrl.split(",").map("spark://" + _) val backend = new StandaloneSchedulerBackend(scheduler, sc, masterUrls) scheduler.initialize(backend) (backend, scheduler) 所以在Standalone 模式下,_taskScheduler是TaskSchedulerImpl,

上亿条数据,如何查询分析简单又高效?

若如初见. 提交于 2020-07-28 12:30:15
摘要: 正值618大促,小张遇到了一个棘手的问题,需要在一周内将公司近1年电商部门的营收和线下门店经营数据进行联合分析。 这将产生哪些数据难题呢? 数据孤岛:电商部门的数据存在数仓A、门店经营收入数据存在数仓B,如何便捷的进行多仓联合分析? PB级数据量:多电商平台+全国线下门店每天将产生TB级数据量,年数据量高达PB级! 他在第一时间联系了集团CTO,希望将各部门数据在一天内导出给他。 这时候,CTO犯难了: 公司现有的资源池可自如应对TB级数据量,而小张要的数据量粗略估计达到了PB级,大大超出了公司现有资源池承受范围,只能以时间为代价导出;而为了不常见场景扩大公司资源池,整体的成本太高。 面对小张遇到的棘手问题,云湖湖推荐了一款华为云大数据查询分析神器——数据湖探索(DLI)服务;一个DLI即可撬动EB级数据量联合查询,每CU仅需0.35元/小时(1CU=1Core4G Mem),1CU包月仅需150元。 数据湖探索(DLI)服务 2.0是完全兼容Apache Spark和Apache Flink生态的Serverless大数据计算分析服务,用户仅需使用标准SQL或程序即可查询分析各类异构数据源。 DLI是如何解决小张问题的呢? DLI服务架构——Serverless DLI是无服务器化的大数据查询分析服务它的优势在于: (1)按量计费:真正的按使用量(扫描量/CU时)计费

Spark 背后的商业公司收购的 Redash 是个啥?

人走茶凉 提交于 2020-07-28 12:29:03
在2020年6月24日的 Spark AI summit Keynote 上,数砖的首席执行官 Ali Ghodsi 宣布其收购了 Redash 开源产品 的背后公司 Redash! 如果想及时了解 Spark 、Hadoop或者HBase相关的文章,欢迎关注微信公众号: iteblog_hadoop 通过这次收购,Redash 加入了 Apache Spark、Delta Lake 和 MLflow,创建了一个更大、更繁荣的开源系统,为数据团队提供了同类中最好的工具。为什么数砖会收购 Redash 公司? Redash 是什么? Redash 是一个可以协作的可视化和仪表盘平台,旨在让任何人,无论其技术水平如何,都可以在团队内部或跨团队共享见解。 一直使用 SQL 的用户可以利用Redash 来探索、查询、可视化和共享来自任何数据源的数据。世界各地每天有数千个组织的数百万用户使用 Redash 来做出数据驱动的决策。 Redash 主要包含以下特点: Query editor: 使用模式浏览器和代码提示来快速编写 SQL 和 NoSQL 查询。 可视化和仪表盘: 使用拖放创建漂亮的可视化界面,并将它们合并到单个仪表板中。 分享: 通过共享可视化仪表盘及其关联的查询,可以轻松实现协作,并支持对报告和查询的同行审查。 进度刷新: 在用户定义的间隔内自动更新图表和仪表板。 报警:

RDD和DataFrame和DataSet三者间的区别

↘锁芯ラ 提交于 2020-07-28 11:07:21
在SparkSQL中Spark为我们提供了两个新的抽象,分别是DataFrame和DataSet。他们和RDD有什么区别呢?首先从版本的产生上来看: RDD (Spark1.0) —> Dataframe(Spark1.3) —> Dataset(Spark1.6) 如果同样的数据都给到这三个数据结构,他们分别计算之后,都会给出相同的结果。不同是的他们的执行效率和执行方式。 在后期的Spark版本中,DataSet会逐步取代RDD和DataFrame成为唯一的API接口。 网址:https://www.cnblogs.com/swordfall/p/9006088.html#auto_id_0 来源: oschina 链接: https://my.oschina.net/u/4319574/blog/4277397

HIVE架构

穿精又带淫゛_ 提交于 2020-07-28 10:34:39
UI: 用于提交查询的客户端,hive自带有CLI(command line),现在推荐使用beeline DRIVER: 1.用于接收客户端提交的SQL,并实现了session控制 2.并提供了jdbc/odbc的fetch和execute功能 COMPILER: 编译器,负责解析SQL,并从METASTORE那里获取元数据生成执行计划,然后发给DRIVER 执行计划就是一个DAG(有向无环图) 组件: 1.Parser:将查询语句转变成一个parse tree 2.Semantic Analyser:将parse tree变成一个内部的查询表示(依然是基于查询块,而不是operator tree)。同时在这一步也会做语法检查,类型检查和类型隐式转换 3.Logical Plan Generator:将内部的查询表示转变成一个逻辑计划(包含一个operator tree),一些operator是关系代数的filter,join等,另一些是hive特定的,用于将逻辑计划变成一系列的map/reduce job,比如reduceSink operator(出现在map-reduce边界);这一步Optimizer也会对查询进行优化,比如map端聚合等 4.Query Plan Genertor:将逻辑计划转换成一系列的map-reduce tasks.做法是,通过对operator

es组合多个条件进行查询

南楼画角 提交于 2020-07-28 09:58:56
GET /test_index/_search {   "query": {     "bool": {       "must": { "match": { "name": "tom" }},       "should": [         { "match": { "hired": true }},         { "bool": {           "must": { "match": { "personality": "good" }},           "must_not": { "match": { "rude": true }}         }}       ],       "minimum_should_match": 1     }   } } 在es中,使用组合条件查询是其作为搜索引擎检索数据的一个强大之处,在前几篇中,简单演示了es的查询语法,但基本的增删改查功能并不能很好的满足复杂的查询场景,比如说我们期望像mysql那样做到拼接复杂的条件进行查询该如何做呢?es中有一种语法叫bool,通过在bool里面拼接es特定的语法可以做到大部分场景下复杂条件的拼接查询,也叫复合查询 首先简单介绍es中常用的组合查询用到的关键词, filter:过滤,不参与打分 must:如果有多个条件,这些条件都必须满足 and与 should:如果有多个条件

计算压力倍增,携程度假起价引擎架构演变

半城伤御伤魂 提交于 2020-07-28 07:02:09
携程度假每个旅游线路在每期、每天的价格均有变化,而价格变化又受到多个因素影响。为尽快捕捉到价格变化,需要不断优化调整架构,使得价格调整灵敏度更高更准。这对被调服务及硬件产生了极大的压力,也带来了新的瓶颈。那么,携程是如何解决这一难题的呢?本文是携程高级研发经理陈少伟在「云加社区沙龙online」的分享整理,着重介绍了携程度假起价引擎架构不断演进的过程。 点击视频,查看完整直播回放 一、背景介绍 1. 什么是度假起价引擎? 首先,解释一下什么是度假起价引擎。度假每个旅游线路涉及到不同的出发地,不同的出发地下有不同可出发班期,每个班期都有对应的这一天的价格。旅游产品的价格由多个资源组成的,任何一个资源价格发生变化,都会影响到产品的价格。 为了尽快捕捉到价格变化,需要有一个专门的价格系统去监测不同资源的价格变化,这就是起价引擎。 2. 旅游电商和普通电商的区别是什么? 普通电商的商品基本都是标品,价格和库存都针对的是单个SKU(StockKeeping Unit 库存单元),而旅游打包类商品都是由多个SKU组成(静态和实时匹配),任意一个SKU的价格、库存发生变化,都会直接影响到它所关联的所有产品。正是由于变量太多,这也给定价带来了极大的挑战。 上图展示的是京东上一个商品截图,我们可以看到它涉及到两个SKU,基本上像这种情况,每个SKU的价格都是比较确定的。 3.

挨踢部落直播课堂第一期:起航2017——拥抱大数据

和自甴很熟 提交于 2020-07-28 06:22:44
1.大数据框架结构和全景概览; 2.企业大数据场景和不同数据源整合利用; 3.大数据学习与高薪求职; 一、大数据框架结构和全景概览 似乎一夜之间,大数据(Big Data)变成一个IT行业中最时髦的词汇。 大数据 首先,大数据并不是什么完完全全的新生事物,Google的搜索服务就是一个典型的大数据运用,根据每个用户的需求,Google实时从全球海量的数字资产(或数字垃圾)中快速找出最可能的答案,呈现给你,就是一个最典型的大数据服务。只不过过去这样规模的数据量处理和有商业价值的应用太少,在IT行业没有形成成型的概念。现在随着全球数字化、网络宽带化、互联网应用于各行各业,累积的数据量越来越大,越来越多企业、行业和国家发现,可以利用类似的技术更好地服务客户、发现新商业机会、扩大新市场以及提升效率,才逐步形成大数据这个概念。 理解大数据的两个例子: 1、 炒股。2011年好莱坞有部高智商电影《永无止境》,讲述一位落魄的作家库珀,服用了一种可以迅速提升智力的神奇蓝色药物,然后他将这种高智商用于炒股。那库珀是怎么炒股的呢?就是他能在短时间掌握无数公司资料和背景,也就是将世界上已经存在的海量数据(包括公司财报、电视新闻、近二三十年的报纸、互联网、小道消息等)挖掘出来,串联起来,甚至将Face Book、Twitter的海量社交数据挖掘出来,得到普通大众对某种股票的感情倾向,通过海量信息的挖掘