Apache Spark

windows 安装 spark 及 PyCharm IDEA 调试 TopN 实例

血红的双手。 提交于 2019-11-28 21:04:46
首先声明本文搭建的环境为:windows8.1 + spark1.6.0 + python2.7 + jdk8,spark on windows 对 windows及python版本不怎么挑,但是对 spark 版本要求极其苛刻,比如 spark1.6.1 就无法运行。 1、安装 jdk 安装spark第一步就是安装jdk(无论windows还是linux),spark执行依赖jdk。在oracle官网上下载jdk,这里我选择的是8u74 windows x64版本,你也可以根据自己的需求下载,jdk的安装在此不表,无非就是下一步,选安装路径什么的。 关于具体的 jdk path 怎么设置可以参考 hadoop on windows 这个系列,在此不再赘述: http://my.oschina.net/leejun2005/blog?catalog=3609138 2、安装spark 在Apache Spark™官方网站下载spark,选择spark-1.6.0-bin-hadoop2.6.tgz。 添加spark环境变量,在PATH后面追加: %SPARK_HOME%\bin %SPARK_HOME%\sbin windows 环境下的spark搭建完毕!!! 注意此处有坑: Failed to locate the winutils binary in the hadoop

整理了maven中基于spark-2.3.1常用的依赖和插件

落花浮王杯 提交于 2019-11-28 18:59:30
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.baidukt</groupId> <artifactId>spark</artifactId> <version>1.0-SNAPSHOT</version> <packaging>jar</packaging> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <scala.version>2.11.12</scala.version> <spark.version>2.3.1</spark.version> <hadoop

hive,shark,sparkSQL,hive on spark,impala,drill比较

我怕爱的太早我们不能终老 提交于 2019-11-27 16:08:07
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

巨杉Tech | SparkSQL+SequoiaDB 性能调优策略

﹥>﹥吖頭↗ 提交于 2019-11-27 16:07:42
当今时代,企业数据越发膨胀。数据是企业的价值,但数据处理也是一种技术挑战。在海量数据处理的场景,即使单机计算能力再强,也无法满足日益增长的数据处理需求。所以,分布式才是解决该类问题的根本解决方案。而在分布式领域,有两类典型产品,分别是分布式存储和分布式计算。用户只有将两者的特性充分利用,才可以真正发挥分布式架构的存储和计算能力。 本文介绍 SequoiaDB(分布式存储)和 Spark(分布式计算)两款产品的对接使用,以及在海量数据场景下如何提高统计分析性能。 01 SequoiaDB 与 SparkSQL 介绍 SequoiaDB 是一款开源的金融级分布式关系型数据库,支持标准 SQL 和事务功能,支持复杂索引查询、与 Hadoop、Hive、Spark 都有较深度的集成。SequoiaDB 在分布式存储功能上,较一般的大数据产品能提供更多的数据切分规则,包括:水平切分、范围切分、主子表切分(类似 partition 分区)和多维切分方式,用户可以根据不用的场景选择相应的切分方式,以提高系统的存储能力和操作性能。 Spark 近年来发展特别迅猛,使用 SparkSQL 做大数据处理和分析的开发者越来越多。SparkSQL 是 Spark 产品中一个组成部分,SQL 的执行引擎使用 Spark 的 RDD 和 Dataframe 实现。 SparkSQL 和另外一款流行的大数据

基于Kafka+SparkStreaming+HBase实时点击流案例

百般思念 提交于 2019-11-27 13:54:48
前言 最近在专注Spark开发,记录下自己的工作和学习路程,希望能跟大家互相交流成长 本文章更倾向于实战案例,涉及框架原理及基本应用还请读者自行阅读相关文章,相关在本文章最后参考资料中 关于Zookeeper/Kafka/HBase/Hadoop相关集群环境搭建作者会陆续更新 本文章发布后会及时更新文章中出现的错误及增加内容,欢迎大家订阅 QQ:86608625 微信:guofei1990123 背景 Kafka实时记录从数据采集工具Flume或业务系统实时接口收集数据,并作为消息缓冲组件为上游实时计算框架提供可靠数据支撑,Spark 1.3版本后支持两种整合Kafka机制(Receiver-based Approach 和 Direct Approach),具体细节请参考文章最后官方文档链接,数据存储使用HBase 实现思路 实现Kafka消息生产者模拟器 Spark-Streaming采用Direct Approach方式实时获取Kafka中数据 Spark-Streaming对数据进行业务计算后数据存储到HBase 本地虚拟机集群环境配置 由于笔者机器性能有限,hadoop/zookeeper/kafka集群都搭建在一起主机名分别为hadoop1,hadoop2,hadoop3; hbase为单节点 在hadoop1 缺点及不足 由于笔者技术有限,代码设计上有部分缺陷

阿里云HBase Ganos全新升级,推空间、时空、遥感一体化基础云服务

坚强是说给别人听的谎言 提交于 2019-11-27 01:41:25
1、HBase Ganos是什么 Ganos是阿里云时空PaaS服务的自研核心引擎。Ganos已作为云数据库时空引擎与数据库平台融合,建立了以自研云原生数据库POALRDB为基础,联合NoSQL大数据平台(Ali-HBASE和X-Pack Spark)的完整时空地理信息云化管理解决方案。 HBase Ganos是为PB级分布式、大规模时空数据管理而生,主打NoSQL时空大数据处理能力,兼容HBase、Spark、GeoMesa、GeoServer等广泛开源生态,内置了高效的时空索引算法、空间拓扑几何算法、遥感影像处理算法等,可广泛应用于空间/时空/遥感大数据存储、查询、分析与数据挖掘场景。 2、新版本重要特性 全球首发时空栅格引擎云服务,支撑航天航空遥感云计算与智能化发展 对地观测技术的快速发展正促使遥感应用走向在线化和服务化。全新的云上时空栅格数据引擎面向未来遥感大数据云端智能分析计算需求而设计,采用了极为灵活的时空数据组织方式,在保留多时相、多分辨率且每一寸像素光谱信息的同时,兼顾传统遥感应用的快速浏览需求。引擎内置的ETL工具可以打通OSS、HBase、POLARDB/PG等数据存储产品,支持栅格数据的全自动化快速入库,包含投影转换、数据分块和索引创建等。栅格数据存储组织支持多种模式,常用的包括全球标准格网剖分和本地坐标系格网剖分(见下图)。 此外,2

Hadoop和Spark的优势对比

依然范特西╮ 提交于 2019-11-27 01:36:17
Hadoop和Spark的优势对比 谈到大数据框架,现在最火的就是Hadoop和Spark,但我们往往对它们的理解只是提留在字面上,并没有对它们进行深入的思考,倒底现在业界都在使用哪种技术?二者间究竟有哪些异同?它们各自解决了哪些问题? 方法/步骤 1 解决问题的层面不一样 首先,Hadoop和Apache Spark两者都是大数据框架,但是各自存在的目的不尽相同。Hadoop实质上更多是一个分布式数据基础设施: 它将巨大的数据集分派到一个由普通计算机组成的集群中的多个节点进行存储,意味着您不需要购买和维护昂贵的服务器硬件,Hadoop还会索引和跟踪这些数据,让大数据处理和分析效率达到前所未有的高度;Spark,则是那么一个专门用来对那些分布式存储的大数据进行处理的工具,它并不会进行分布式数据的存储。 2 两者可合可分 Hadoop除了提供了一个为大家所共识的HDFS分布式数据存储功能之外,还提供了叫做MapReduce的数据处理功能,所以我们完全可以抛开Spark,使用Hadoop自身的MapReduce来完成数据的处理;Spark也不是非要依附在Hadoop身上才能生存,但如上所述,毕竟它没有提供文件管理系统,所以它必须和其他的分布式文件系统进行集成才能运作,这里我们可以选择Hadoop的HDFS,也可以选择其他的基于云的数据系统平台

集群四部曲(三):完美的Spark集群搭建

↘锁芯ラ 提交于 2019-11-27 01:33:43
前面已经成功的搭建了Zookeeper和Hadoop集群,接下来让我们更进一步,实现Spark集群的搭建吧。相比较而言,Spark集群的搭建要简单的许多了,关键是Hadoop已经搭建成功了。此次是基于上次的Hadoop,因为 Spark是依赖于Hadoop提供的分布式文件系统的 。好了,让我们扬帆起航吧! 一、环境:虚拟机CentOs7系统,完整的环境,请确认已安装JDK、Hadoop及Spark安装包,节点仍然使用上次克隆的两个,下面先进行其中一个的环境搭建。 二、Spark配置(解压啥的不说了) 配置前说下几个关键词: Master、Worker ,了解一下。 (1)配置环境变量 vim /etc/profile 修改如下: JAVA_HOME=/usr/java/jdk1.8.0_161 JRE_HOME=/usr/java/jdk1.8.0_161/jre SCALA_HOME=/usr/local/scala HADOOP_HOME=/usr/local/hadoop SPARK_HOME=/usr/local/spark ZOOKEEPER_HOME=/usr/local/zookeeper KAFKA_HOME=/usr/local/kafka PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$SCALA_HOME/bin:

最全大数据技术知识体系

好久不见. 提交于 2019-11-27 00:02:49
大数据技术知识体系 大数据技术知识体系 --持续更新,建议收藏 最早提出“大数据”时代到来的是全球知名咨询公司麦肯锡,麦肯锡称:“数据,已经渗透到当今每一个行业和业务职能领域,成为重要的生产因素。人们对于海量数据的挖掘和运用,预示着新一波生产率增长和消费者盈余浪潮的到来。”数据,让一切有迹可循,让一切有源可溯。我们每天都在产生数据,创造大数据和使用大数据,只是,你,仍然浑然不知。 企业组织利用相关数据和分析可以帮助它们降低成本、提高效率、开发新产品、做出更明智的业务决策等等。大数据的价值,远远不止于此,大数据对各行各业的渗透,大大推动了社会生产和生活,未来必将产生重大而深远的影响。对海量数据进行存储、计算、分析、挖掘处理需要依赖一系列的大数据技术。然而大数据技术其涉及的技术有分布式计算、高并发处理、高可用处理、集群、实时性计算等,汇集了当前IT领域热门流行的IT技术。本文对大数据技术知识体系进行划分,总共分为基础技术、数据采集、数据传输、数据组织集成、数据应用、数据治理。 具体展开图,详细内容请看后面: 想学习好大数据可以关注公众号程序员大牛 有视频资源分享一起学习 一、大数据基础技术 数据分片路由 在大数据的背景下,数据规模已经由GP跨越大屏PB的级别,单机明显已经无法存储与处理如此规模的数据量,只能依靠大规模集群来对这些数据进行存储和处理。对于海量的数据,通过数据分片

从Storm到Flink,有赞五年实时计算效率提升实践

邮差的信 提交于 2019-11-26 20:10:59
作者:贺飞 导读:有赞是一个商家服务公司,提供全行业全场景的电商解决方案。在有赞,大量的业务场景依赖对实时数据的处理,作为一类基础技术组件,服务着有赞内部几十个业务产品,几百个实时计算任务,其中包括交易数据大屏,商品实时统计分析,日志平台,调用链,风控等多个业务场景,本文将介绍有赞实时计算当前的发展历程和当前的实时计算技术架构。 实时计算在有赞发展 从技术栈的角度,我们的选择和大多数互联网公司一致,从早期的 Storm,到 JStorm, Spark Streaming 和最近兴起的 Flink。从发展阶段来说,主要经历了两个阶段,起步阶段和平台化阶段;下面将按照下图中的时间线,介绍实时计算在有赞的发展历程。 2.1 起步阶段 这里的的起步阶段的基本特征是,缺少整体的实时计算规划,缺乏平台化任务管理,监控,报警工具,用户提交任务直接通过登录 AG 服务器使用命令行命令提交任务到线上集群,很难满足用户对可用性的要求。但是,在起步阶段里积累了内部大量的实时计算场景。 2.1.1 Storm 登场 2014 年初,第一个 Storm 应用在有赞内部开始使用,最初的场景是把实时事件的统计从业务逻辑中解耦出来,Storm 应用通过监听 MySQL 的 binlog 更新事件做实时计算,然后将结果更新到 MySQL 或者 Redis 缓存上,供在线系统使用。类似的场景得到了业务开发的认可