数据处理

Hadoop集群配置与部署

亡梦爱人 提交于 2020-01-28 02:49:24
Hadoop是什么 1)Hadoop是一个由Apache基金会所开发的分布式系统基础架构 2)主要解决,海量数据的存储和海量数据的分析计算问题。 3)广义上来说,HADOOP通常是指一个更广泛的概念——HADOOP生态圈 Hadoop的优势 1)高可靠性:因为Hadoop假设计算元素和存储会出现故障,因为它维护多个工作数据副本,在出现故障时可以对失败的节点重新分布处理。 2)高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点。 3) 高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度。 4)高容错性:自动保存多份副本数据,并且能够自动将失败的任务重新分配。 Hadoop组成 1)Hadoop HDFS:一个高可靠、高吞吐量的分布式文件系统。 2)Hadoop MapReduce:一个分布式的离线并行计算框架。 3)Hadoop YARN:作业调度与集群资源管理的框架。 4)Hadoop Common:支持其他模块的工具模块。 HDFS架构概述 1)NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等。 2)DataNode(dn):在本地文件系统存储文件块数据,以及块数据的校验和。 3)Secondary NameNode(2nn)

flink-1.9.1单机版环境的搭建

可紊 提交于 2020-01-28 01:52:59
Flink基础环境 本次安装Flink版本为flink-1.9.1,可以点击此链接直接下载 https://www.apache.org/dyn/closer.lua/flink/flink-1.9.1/flink-1.9.1-bin-scala_2.11.tgz 前提条件 1.安装JDK [ root@CentOSA ~ ] # rpm -ivh jdk-8u191-linux-x64.rpm warning: jdk-8u191-linux-x64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY Preparing .. . ########################################### [100%] 1:jdk1.8 ########################################### [100%] Unpacking JAR files .. . tools.jar .. . plugin.jar .. . javaws.jar .. . deploy.jar .. . rt.jar .. . jsse.jar .. . charsets.jar .. . localedata.jar .. . [ root@CentOSA ~ ] # java

Hive 简介

被刻印的时光 ゝ 提交于 2020-01-27 07:35:12
hive是基于Hadoop的一个 数据仓库 工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合 数据仓库 的统计分析。 Hive是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive 定义了简单的类 SQL 查询语言,称为 HQL,它允许熟悉 SQL 的用户查询数据。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper 和 reducer 来处理内建的 mapper 和 reducer 无法完成的复杂的分析工作。 Hive 没有专门的数据格式。 Hive 可以很好的工作在 Thrift 之上,控制分隔符,也允许用户指定数据格式。 Hive 构建在基于静态批处理的Hadoop 之上,Hadoop 通常都有较高的延迟并且在作业提交和调度的时候需要大量的开销。Hive 并不适合那些需要低延迟的应用。 Hive 是一种底层封装了Hadoop 的数据仓库处理工具,使用类SQL 的HiveQL 语言实现数据查询,所有Hive

Spark Streaming官方文档翻译Spark Streaming总览

狂风中的少年 提交于 2020-01-27 06:35:44
Spark Streaming官方文档翻译Spark Streaming总览 Spark Streaming官方文档翻译基本概念之初始化与Dstream Spark Streaming官方文档翻译基本概念之输入数据流和接收器 Spark Streaming官方文档翻译基本概念之转换操作 Spark Streaming官方文档翻译基本概念之输出操作 Spark Streaming官方文档翻译基本概念之sql与Mllib Spark Streaming官方文档基本概念之缓存与检查点 Spark Streaming官方文档翻译基本概念之累加器、广播变量和检查点 Spark Streaming官方文档翻译Spark Streaming应用之部署,升级,监控 Spark Streaming官方文档翻译Spark Streaming性能调优 Spark Streaming官方文档翻译Spark Streaming容错 Spark Streaming官方文档翻译Spark Streaming +Kafka 集成指南 Spark Streaming官方文档翻译Spark Streaming自定义接收器 总览 Spark Streaming 是Spark core API的扩展,支持可伸缩、高吞吐量、容错的实时数据流处理。数据可以从许多来源获取,如Kafka、Flume、Kinesis或TCP

Python股票数据处理的一些代码细节

懵懂的女人 提交于 2020-01-27 04:34:53
Python股票数据处理的一些代码细节 Numpy和Pandas相关 Numpy和Pandas比较 numpy.ndarray和多类型数据 Numpy神奇的取值方法 Pandas透视表 如何删除numpy.ndarray中指定位置的元素 如何确定numpy.ndarray中指定值的元素的位置 如何对多维numpy.ndarray进行降维 map()、np.apply_along_axis()和pd.apply() 如何向numpy.ndarray中插入元素 如何在三维数组中使用min()函数 如何改变数组维度 Numpy和Pandas相关 Numpy和Pandas比较 Pandas和Numpy各有所长。 在处理股票数据的基础阶段,Pandas能够清晰地展示股票代码、交易日期、价格等信息,且对于信息的分类、归集、整理有很多针对性强的功能函数,非常便捷。 在处理股票数据的高级阶段,尤其在涉及机器学习领域,Numpy用处更多。首先因为Keras等函数库要求的输入类型多为numpy.ndarray,更深层的原因是Numpy在多维数据储存和处理上更具优势,而且由于Numpy的数据为单一类型,处理速度比Pandas快很多。 numpy.ndarray和多类型数据 由于numpy.ndarray要求存储单一类型数据,用np.array()函数转换DataFrame时,如果value有多种数据类型

Scala版SpringBoot + Impala

こ雲淡風輕ζ 提交于 2020-01-27 04:03:13
工作需要做查询并导出数据的接口,考虑了SpringBoot + Spark 和 Impala,Spark只测试了本地模式,时间有限暂时没有测试yarn模式,但是Spark更适合做数据分析,查询Impala 是比较高效的,选择了以 Impala 做查询引擎。这里整合下 Impala 做个记录。不过因为项目有其他处理模块,所以只把Impala部分拆分出来,是完整的独立模块。 目录 @SpringBootApplication @Controller @Service Impala查询模块 @configuration Result请求结果类 Constants常量类 con.properties application.properties pom.xml 层级关系 @SpringBootApplication package com.sm import org.springframework.boot.SpringApplication import org.springframework.boot.autoconfigure.{EnableAutoConfiguration, SpringBootApplication} import org.springframework.context.annotation.ComponentScan /** * SpringBoot 入口 *

Spark学习之路 (八)SparkCore的调优之开发调优[转]

别说谁变了你拦得住时间么 提交于 2020-01-26 18:06:36
前言 在大数据计算领域,Spark已经成为了越来越流行、越来越受欢迎的计算平台之一。Spark的功能涵盖了大数据领域的离线批处理、SQL类处理、流式/实时计算、机器学习、图计算等各种不同类型的计算操作,应用范围与前景非常广泛。在美团•大众点评,已经有很多同学在各种项目中尝试使用Spark。大多数同学(包括笔者在内),最初开始尝试使用Spark的原因很简单,主要就是为了让大数据计算作业的执行速度更快、性能更高。 然而,通过Spark开发出高性能的大数据计算作业,并不是那么简单的。如果没有对Spark作业进行合理的调优,Spark作业的执行速度可能会很慢,这样就完全体现不出Spark作为一种快速大数据计算引擎的优势来。因此,想要用好Spark,就必须对其进行合理的性能优化。 Spark的性能调优实际上是由很多部分组成的,不是调节几个参数就可以立竿见影提升作业性能的。我们需要根据不同的业务场景以及数据情况,对Spark作业进行综合性的分析,然后进行多个方面的调节和优化,才能获得最佳性能。 笔者根据之前的Spark作业开发经验以及实践积累,总结出了一套Spark作业的性能优化方案。整套方案主要分为开发调优、资源调优、数据倾斜调优、shuffle调优几个部分。开发调优和资源调优是所有Spark作业都需要注意和遵循的一些基本原则,是高性能Spark作业的基础;数据倾斜调优

Spark学习之路 (一)Spark初识 [转]

 ̄綄美尐妖づ 提交于 2020-01-26 18:03:01
官网介绍 什么是Spark 官网地址: http://spark.apache.org/ Apache Spark™ 是用于大规模数据处理的统一分析引擎。 从右侧最后一条新闻看,Spark也用于AI人工智能。 spark是一个实现快速通用的集群计算平台。它是由加州大学伯克利分校AMP实验室 开发的通用内存并行计算框架,用来构建大型的、低延迟的数据分析应用程序。它扩展了广泛使用的MapReduce计算模型。高效的支撑更多计算模式,包括交互式查询和流处理。spark的一个主要特点是能够在内存中进行计算,及时依赖磁盘进行复杂的运算,Spark依然比MapReduce更加高效。 为什么要学Spark 中间结果输出: 基于MapReduce的计算引擎通常会将中间结果输出到磁盘上,进行存储和容错。出于任务管道承接的,考虑,当一些查询翻译到MapReduce任务时,往往会产生多个Stage,而这些串联的Stage又依赖于底层文件系统(如HDFS)来存储每一个Stage的输出结果。 Spark是MapReduce的替代方案,而且兼容HDFS、Hive,可融入Hadoop的生态系统,以弥补MapReduce的不足。 Spark的四大特性 高效性 运行速度提高100倍。 Apache Spark使用最先进的DAG调度程序,查询优化程序和物理执行引擎,实现批量和流式数据的高性能。 易用性

Spark学习之路 (三)Spark之RDD[转]

前提是你 提交于 2020-01-26 17:59:47
RDD的概述 什么是RDD? RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。RDD具有数据流模型的特点:自动容错、位置感知性调度和可伸缩性。RDD允许用户在执行多个查询时显式地将工作集缓存在内存中,后续的查询能够重用工作集,这极大地提升了查询速度。 RDD的属性 (1)一组分片(Partition),即数据集的基本组成单位。对于RDD来说,每个分片都会被一个计算任务处理,并决定并行计算的粒度。用户可以在创建RDD时指定RDD的分片个数,如果没有指定,那么就会采用默认值。默认值就是程序所分配到的CPU Core的数目。 (2)一个计算每个分区的函数。Spark中RDD的计算是以分片为单位的,每个RDD都会实现compute函数以达到这个目的。compute函数会对迭代器进行复合,不需要保存每次计算的结果。 (3)RDD之间的依赖关系。RDD的每次转换都会生成一个新的RDD,所以RDD之间就会形成类似于流水线一样的前后依赖关系。在部分分区数据丢失时,Spark可以通过这个依赖关系重新计算丢失的分区数据,而不是对RDD的所有分区进行重新计算。 (4)一个Partitioner,即RDD的分片函数。当前Spark中实现了两种类型的分片函数

01hive基础操作

六眼飞鱼酱① 提交于 2020-01-26 10:52:42
一. Hive基础概念 1.什么是Hive Hive:由 Facebook 开源用于解决海量结构化日志的数据统计。 Hive 是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类 SQL 查询功能。 本质是:将 HQL 转化成 MapReduce 程序。 1)Hive 处理的数据存储在 HDFS 2)Hive 分析数据底层的默认实现是 MapReduce 3)执行程序运行在 Yarn 上 2.优缺点 2.1 优点 1) 操作接口采用类 SQL 语法,提供快速开发的能力(简单、容易上手)。 2) 避免了去写 MapReduce,减少开发人员的学习成本。 3) Hive 的执行延迟比较高,因此 Hive 常用于数据分析,对实时性要求不高的场合。 4) Hive 优势在于处理大数据,对于处理小数据没有优势,因为 Hive 的执行延迟比较高。 5) Hive 支持用户自定义函数,用户可以根据自己的需求来实现自己的函数。 2.2 缺点 1.Hive 的 HQL 表达能力有限 (1)迭代式算法无法表达 (2)数据挖掘方面不擅长 2.Hive 的效率比较低 (1)Hive 自动生成的 MapReduce 作业,通常情况下不够智能化 (2)Hive 调优比较困难,粒度较粗 3. 架构原理 1.用户接口:Client CLI(hive shell)、JDBC