Apache Spark

如何在 Kylin 中优雅地使用 Spark

妖精的绣舞 提交于 2019-11-29 03:16:33
前言 Kylin 用户在使用 Spark的过程中,经常会遇到任务提交缓慢、构建节点不稳定的问题。为了更方便地向 Spark 提交、管理和监控任务,有些用户会使用 Livy 作为 Spark 的交互接口。在最新的 Apache Kylin 3.0 版本中,Kylin 加入了通过 Apache Livy 递交 Spark 任务的新功能[KYLIN-3795],特此感谢滴滴靳国卫同学对此功能的贡献。 Livy 介绍 Apache Livy 是一个基于 Spark 的开源 REST 服务,是 Apache 基金会的一个孵化项目,它能够通过 REST 的方式将代码片段或是序列化的二进制代码提交到 Spark 集群中去执行。它提供了如下基本功能: 提交 Scala、Python 或是 R 代码片段到远端的 Spark 集群上执行。 提交 Java、Scala、Python 所编写的 Spark 作业到远端的 Spark 集群上执行。 Apache Livy 架构 为什么使用 Livy 1. 当前 Spark 存在的问题 Spark 当前支持两种交互方式: 交互式处理用户使用 spark-shell 或 pyspark 脚本启动 Spark 应用程序,伴随应用程序启动的同时,Spark 会在当前终端启动 REPL(Read–Eval–Print Loop) 来接收用户的代码输入,并将其编译成

9、Kafka常见问题

偶尔善良 提交于 2019-11-29 00:52:08
1、connection with xxxxx disconnected ERROR o.a.kafka.common.network.Selector - Connection with gdga-hd-kafka-003/68.29.196.30 disconnected 原理是:connections.max.idle.ms参数指定了consumer超过空闲时间就会断开连接,默认是600秒,但是一旦有数据上来还是可以继续消费。 参考资料: https://stackoverflow.com/questions/33432027/kafka-error-in-i-o-java-io-eofexception-null 2、必须在消费者机器中配置broker的IP映射 kafka consumer机器必须在hosts中配置broker机器名和ip映射否则拿不了数据,也不报错,就是阻塞在那里 原因是:连接broker后,返回来的是机器名称,没法映射为ip 3、KafkaConsumer is not safe for multi-threaded access 单个kafkaConsumer对象不能给多线程并发访问。 这个问题经常在spark中遇到spark-19185,因为spark多分支并发处理数据时,是需要多次调用consumer那数据, 解决办法是去掉consumer缓存

spark在无hadoop环境中,本地模式启动下报 (null) entry in command string: null chmod 0644 *******

十年热恋 提交于 2019-11-28 23:54:10
在Windows操作系统中本地运行spark程序,报以下错误: ....(null) entry in command string: null chmod 0644 ..(后面是目的目录) 解决方法: 下载hadoop.dll文件 并拷贝到C:\Windows\System32目录下 然后重新运行代码程序即可 hadoop.dll文件下载地址: hadoop.dll下载 来源: https://my.oschina.net/dslcode/blog/3099607

大数据(Spark-S3-SparkSQL架构及原理)

半世苍凉 提交于 2019-11-28 22:52:38
Spark SQL的发展 HDFS -> HIVE 由于Hadoop在企业生产中的大量使用,HDFS上积累了大量数据,为了给熟悉RDBMS但又不理解MapReduce的技术人员提供快速上手的工具,Hive应运而生。Hive的原理是将SQL语句翻译成MapReduce计算。 HIVE -> SHARK MapReduce计算过程中大量的中间磁盘落地过程消耗了大量的I/O,降低了运行效率,为了提供SQL-on-Hadoop的效率,Shark出现了。 Shark是伯克利AMPLab实验室Spark生态环境的组件之一,它修改了Hive中的内存管理、物理计划和执行三个模块,使得SQL语句直接运行在Spark上,从而使得SQL查询的速度得到10-100倍的提升。 SHARK -> SPARK SQL 2014年6月1日,Shark项目和SparkSQL项目的主持人Reynold Xin宣布:停止对Shark的开发,团队将所有资源放sparkSQL项目上,至此,Shark的发展画上了句号。 随着Spark的发展,Shark对于Hive的太多依赖制约了Spark的One Stack rule them all的方针,制约了Spark各个组件的相互集成,同时Shark也无法利用Spark的特性进行深度优化,所以决定放弃Shark,提出了SparkSQL项目。 随着Shark的结束

总结:Hive,Hive on Spark和SparkSQL区别

℡╲_俬逩灬. 提交于 2019-11-28 22:51:59
Hive on Mapreduce Hive的原理大家可以参考这篇大数据时代的技术hive:hive介绍,实际的一些操作可以看这篇笔记:新手的Hive指南,至于还有兴趣看Hive优化方法可以看看我总结的这篇Hive性能优化上的一些总结 Hive on Mapreduce执行流程 执行流程详细解析 Step 1:UI(user interface) 调用 executeQuery 接口,发送 HQL 查询语句给 Driver Step 2:Driver 为查询语句创建会话句柄,并将查询语句发送给 Compiler, 等待其进行语句解析并生成执行计划 Step 3 and 4:Compiler 从 metastore 获取相关的元数据 Step 5:元数据用于对查询树中的表达式进行类型检查,以及基于查询谓词调整分区,生成计划 Step 6 (6.1,6.2,6.3):由 Compiler 生成的执行计划是阶段性的 DAG,每个阶段都可能会涉及到 Map/Reduce job、元数据的操作、HDFS 文件的操作,Execution Engine 将各个阶段的 DAG 提交给对应的组件执行。 Step 7, 8 and 9:在每个任务(mapper / reducer)中,查询结果会以临时文件的方式存储在 HDFS 中。保存查询结果的临时文件由 Execution Engine 直接从

如何在 Kylin 中优雅地使用 Spark

亡梦爱人 提交于 2019-11-28 22:51:43
前言 Kylin 用户在使用 Spark的过程中,经常会遇到任务提交缓慢、构建节点不稳定的问题。为了更方便地向 Spark 提交、管理和监控任务,有些用户会使用 Livy 作为 Spark 的交互接口。在最新的 Apache Kylin 3.0 版本中,Kylin 加入了通过 Apache Livy 递交 Spark 任务的新功能[KYLIN-3795],特此感谢滴滴靳国卫同学对此功能的贡献。 Livy 介绍 Apache Livy 是一个基于 Spark 的开源 REST 服务,是 Apache 基金会的一个孵化项目,它能够通过 REST 的方式将代码片段或是序列化的二进制代码提交到 Spark 集群中去执行。它提供了如下基本功能: 提交 Scala、Python 或是 R 代码片段到远端的 Spark 集群上执行。 提交 Java、Scala、Python 所编写的 Spark 作业到远端的 Spark 集群上执行。 Apache Livy 架构 为什么使用 Livy 1. 当前 Spark 存在的问题 Spark 当前支持两种交互方式: 交互式处理用户使用 spark-shell 或 pyspark 脚本启动 Spark 应用程序,伴随应用程序启动的同时,Spark 会在当前终端启动 REPL(Read–Eval–Print Loop) 来接收用户的代码输入,并将其编译成

TiFlash & TiSpark?那都是 AP 团队开的坑 ! | PingCAP 招聘季

穿精又带淫゛_ 提交于 2019-11-28 22:02:43
前面两期我们介绍了 TiDB 团队 和 TiKV 团队 ,颇受好评,今天我司数据库专家 马晓宇 老师将为大家介绍 PingCAP 最具活力的团队—— AP(Analytical Product) 团队,如果你对亲手打造酷炫的大数据分析产品感兴趣,就快快投个简历来和我们聊聊吧~ 大家都知道 TiDB 是一款定位于在线事务处理/在线分析处理( HTAP: Hybrid Transactional/Analytical Processing)的融合型数据库产品, 加强和补齐 HTAP 中的 AP 环节是这个团队的重要工作职责 。 TiDB 的 Coprocessor(协处理器)架构使得大量计算可以并行进行,例如由协处理器进行谓词过滤,预聚合等等,这样一来很多计算被众多 TiKV 资源分担,并且汇聚到 TiDB 的计算将大大减少,由此虽然 TiDB 本身仍然是单机,却可以很大程度满足 AP 需求。 不过这并不是 AP 团队工作的全部。 TiFlash TiFlash 是一个相对独立完整的分析型数据库产品。独立,说明历史包袱会比较小,可以尝试各种可能的设计;同时,我们也希望它尽可能完整,能承担一个分析型数据库应有的职责 。这个项目需要熟悉 C++,熟悉分布式系统的 Infra 工程师同学们入伙。 Why 也许您看了 TiDB / TiSpark 的架构,会有个疑问。TiDB

云端数据仓库的模式选型与建设

二次信任 提交于 2019-11-28 21:50:23
数据,对一个企业的重要性不言而喻,如何利用好企业内部数据,发挥数据的更大价值,对于企业管理者而言尤为重要。作为最传统的数据应用之一,数据仓库在企业内部扮演着重要的角色,构建并正确配置好数据仓库,对于数据分析工作至关重要。一个设计良好的数据仓库,可以让数据分析师们如鱼得水;否则可能使企业陷入无休止的问题之中,并在未来的企业竞争中处于劣势。 随着越来越多的基础设施往云端迁移,数据仓库是否也需要上云?上云后能解决常见的性能、成本、易用性、弹性等诸多问题吗?如果考虑上云,需要注意哪些方面?目前主流云厂商产品又有何特点?面对上述问题,本文尝试给出一些答案,供各位参考。本文部分内容参考了MIT大学教授David J.DeWitt的演讲材料。 一、数据仓库建设 数据仓库(DW)的建设方式有很多种,企业可以根据自身需求进行选择。下图简单罗列了主要的DW建设方案并做出扩展对比。 1.1 建设方案 1)商业方案 商业方案,是最为传统的一种,也是过去20~30年的主流方式。企业外购数仓,包括软、硬件一体交付。其典型产品很多,多为国际知名大厂,国产厂商也有部分。 2)自建+开源 这是很多互联网公司通常采用的方案,通过自建底层基础设施+部署开源软件方式完成。整个方案对企业完全自主可控,但对自有人员技术要求较高。颇为典型的产品就是GreenPlum。 3)云+开源 这是上一种方案的变体

spark单机模式 和 集群模式 安装

你离开我真会死。 提交于 2019-11-28 21:05:14
1.spark单机模式安装 实现步骤: 1)安装和配置好JDK 2)上传和解压Spark安装包 3)进入Spark安装目录下的conf目录 复制conf spark-env.sh.template 文件为 spark-env.sh 在其中修改,增加如下内容: SPARK_LOCAL_IP=服务器IP地址 Spark单机模式启动 在bin目录下执行:sh spark-shell --master=local 启动后 发现打印消息 Spark context Web UI available at http://localhost:4040//Spark的浏览器界面 看到这个页面单机模式也就安装成功了 2.集群模式安装 实现步骤: 1)上传解压spark安装包 2)进入spark安装目录的conf目录 3)配置spark-env.sh文件 配置示例: # 本机 ip 地址 SPARK_LOCAL_IP=spark01 #spark的shuffle中间过程会产生一些临时文件,此项指定的是其存放目录,不配置默认是在 /tmp目录下 SPARK_LOCAL_DIRS=/home/software/spark/tmp export JAVA_HOME=/home/software/jdk1.8 4)在conf目录下,编辑 slaves 文件 配置示例: spark01 spark02

【Spark】- 单机模式部署

会有一股神秘感。 提交于 2019-11-28 21:04:59
单机部署 :单台主机运行Spark,不依赖YARN、MESOS管理资源 Saprk版本:spark-2.2.1-bin-hadoop2.7 部署步骤: 解压Spark的二进制压缩包,最好配置环境变量 启动master节点:./sbin/start-master.sh webUI访问端口:8080 Master默认监听端口:7077 启动woker节点:./sbin/start-slave.sh <master-spark-URL> 例如:start-slave.sh spark://debian:7077 参数:表示master节点的访问地址(注意host-ip映射) 连接单机Spark集群:spark-shell --master spark://debian:7077 (Spark Scala交互式开发环境,“:quit”退出) 单机提交Spark自带测试作业:计算PI 命令:spark-submit --class org.apache.spark.examples.SparkPi --master spark:// debian:7077 examples/jars/spark-examples_2.11-2.2.1.jar 100 Master UI界面介绍: 来源: oschina 链接: https://my.oschina.net/u/4074151/blog