入门大数据---MapReduce-API操作】的更多相关文章

一. 数据准备 本文主要介绍 Spark SQL 的多表连接,需要预先准备测试数据.分别创建员工和部门的 Datafame,并注册为临时视图,代码如下: val spark = SparkSession.builder().appName("aggregations").master("local[2]").getOrCreate() val empDF = spark.read.json("/usr/file/json/emp.json") e…
一.创建DataFrame和Dataset 1.1 创建DataFrame Spark 中所有功能的入口点是 SparkSession,可以使用 SparkSession.builder() 创建.创建后应用程序就可以从现有 RDD,Hive 表或 Spark 数据源创建 DataFrame.示例如下: val spark = SparkSession.builder().appName("Spark-SQL").master("local[2]").getOrCr…
一.环境 Hadoop部署环境: Centos3.10.0-327.el7.x86_64 Hadoop2.6.5 Java1.8.0_221 代码运行环境: Windows 10 Hadoop 2.6.5 二.安装Hadoop-Eclipse-Plugin 在Eclipse中编译和运行Mapreduce程序,需要安装hadoop-eclipse-plugin,可下载Github上的 hadoop2x-eclipse-plugin . 下载后将release中的hadoop-eclipse-plu…
一. Spark简介 1.1 前言 Apache Spark是一个基于内存的计算框架,它是Scala语言开发的,而且提供了一站式解决方案,提供了包括内存计算(Spark Core),流式计算(Spark Streaming),交互式查询(Spark SQL),图形计算(GraphX),机器学习(MLLib). 1.2 安全性 默认情况下Spark安全性是关闭的.(正式环境要开启) 1.3 版本兼容性 Spark版本 Java版本 Python版本 Scala版本 R版本 2.4.1~2.4.5…
第一节 初识 Flink 在数据激增的时代,催生出了一批计算框架.最早期比较流行的有MapReduce,然后有Spark,直到现在越来越多的公司采用Flink处理.Flink相对前两个框架真正做到了高吞吐,低延迟,高性能. 1. Flink 是什么? 1) Flink 的发展历史 在 2010 年至 2014 年间,由柏林工业大学.柏林洪堡大学和哈索普拉特纳研究所联合发起名为"Stratosphere:Information Management on the Cloud"研究项目,该…
一.Kylin是什么? Apache Kylin是一个开源的.分布式的分析型数据仓库,提供Hadoop/Spark 上的SQL查询接口及多维度分析(OLAP)能力以支持超大规模的数据,最初由eBay开发并贡献至开源社区.它能在亚秒内查询巨大的表. Apache Kylin 令使用者仅需三步,即可实现超大数据集上的亚秒级查询. 1.定义一个星形或雪花形数据模型 2.在定义的表上创建cube 3.使用标准的SQL通过ODBC,JDBC和Restful API即可在亚秒内查询到结果. 二.解决问题 任…
MapReduce原理与设计思想 简单解释 MapReduce 算法 一个有趣的例子:你想数出一摞牌中有多少张黑桃.直观方式是一张一张检查并且数出有多少张是黑桃? MapReduce方法则是: 给在座的所有玩家中分配这摞牌 让每个玩家数自己手中的牌有几张是黑桃,然后把这个数目汇报给你 你把所有玩家告诉你的数字加起来,得到最后的结论 拆分 MapReduce合并了两种经典函数: 映射(Mapping)对集合里的每个目标应用同一个操作.即,如果你想把表单里每个单元格乘以二,那么把这个函数单独地应用在…
一.简介 1.1 多数据源支持 Spark 支持以下六个核心数据源,同时 Spark 社区还提供了多达上百种数据源的读取方式,能够满足绝大部分使用场景. CSV JSON Parquet ORC JDBC/ODBC connections Plain-text files 注:以下所有测试文件均可从本仓库的resources 目录进行下载 1.2 读数据格式 所有读取 API 遵循以下调用格式: // 格式 DataFrameReader.format(...).option("key"…
简单概括:Hadoop是由Apache组织使用Java语言开发的一款应对大数据存储和计算的分布式开源框架. Hadoop的起源 2003-2004年,Google公布了部分GFS和MapReduce思想的细节,受此启发的Doug Cutting等人用2年的业余时间实现了DFS和MapReduce机制,使Nutch性能飙升.然后Yahoo招安Doug Gutting及其项目. 2005年,Hadoop作为Lucene的子项目Nutch的一部分正式引入Apache基金会. 2006年2月被分离出来,…
一.简述 截至到目前 (2019.04),HBase 有两个主要的版本,分别是 1.x 和 2.x ,两个版本的 Java API 有所不同,1.x 中某些方法在 2.x 中被标识为 @deprecated 过时.所以下面关于 API 的样例,我会分别给出 1.x 和 2.x 两个版本.完整的代码见本仓库: Java API 1.x Examples Java API 2.x Examples 同时你使用的客户端的版本必须与服务端版本保持一致,如果用 2.x 版本的客户端代码去连接 1.x 版本…
01 我们一起学大数据 今天老刘分享的是MapReduce知识点的第二部分,在第一部分中基本把MapReduce的工作流程讲述清楚了,现在就是对MapReduce零零散散的知识点进行总结,这次的内容大纲如下图: 02 需要谨记的知识点 第6点:自定义分区 在上篇文章里的第五点提到过这句话:分区用到了分区器,默认分区器是HashPartitioner,并且给出了相关代码,现在对分区详细介绍介绍. 分区原理 MapReduce有自带的默认分区器HashPartitioner,关键方法是利用getPa…
01 我们一起学大数据 老刘今天分享的是大数据Hadoop框架中的分布式计算MapReduce模块,MapReduce知识点有很多,大家需要耐心看,用心记,这次先分享出MapReduce的第一部分.老刘这次根据自学的资料分享出这些知识点,一是希望能够帮助对大数据感兴趣的同学,二是希望得到大佬的批评和指导. 02 MapReduce知识点 第1点:MapReduce的概念 MapReduce,它是一个分布式的计算框架,并且采用了一种分而治之的思想.从单词上就可以看出MapReduce由两个阶段组成…
1.操作系统选择 Hadoop产品是由Java语言开发的,所以推荐的是Linux操作系统,理由很简单开源免费,推荐的操作系统CentOS. CentOS是一个基于Red Hat 企业级 Linux 提供的可自由使用的源代码企业级的 Linux 发行版本. CentOS两年发行一次新版本,每个版本都会获得7年的支持(通过安全更新方式),大概6个月更新一次小版本,以便支持新的硬件. CentOS独有的yum命令支持在线升级,可以即时更新系统,完全免费. 2.Hadoop版本 不收费的Hadoop版本…
这篇文章主要讲 Dapper Plus,它使用用来操作大数量的一些操作的.比如插入1000条,或者10000条的数据时,再使用Dapper的Execute方法,就会比较慢了.这时候,可以使用Dapper Plus中的方法进行操作,提高速度. 主要包括下面: Bulk Insert Bulk Update Bulk Delete Bulk Merge 使用之前,需要在Nuget中,安装 Z.Dapper.Plus 注意:这个组件是收费的,每个月会有一个试用版本,没有免费版本 另外一种提高批量插入速…
一.简介 Apache Flume 是一个分布式,高可用的数据收集系统,可以从不同的数据源收集数据,经过聚合后发送到分布式计算框架或者存储系统中.Spark Straming 提供了以下两种方式用于 Flume 的整合. 二.推送式方法 在推送式方法 (Flume-style Push-based Approach) 中,Spark Streaming 程序需要对某台服务器的某个端口进行监听,Flume 通过 avro Sink 将数据源源不断推送到该端口.这里以监听日志文件为例,具体整合方式如…
1.要求和支持的版本 (PS:我使用的环境,都用加粗标识了.) 1.1 支持的操作系统版本 操作系统 版本 RHEL/CentOS/OL with RHCK kernel 7.6, 7.5, 7.4, 7.3, 7.2,6.10, 6.9 , 6.8 Oracle Linux (OL) 7.4, 7.3, 7.2 (UEK default) SUSE Linux Enterprise Server SLES 12 SP4, 12 SP3, 12 SP2 Ubuntu Ubuntu 16.04 L…
一.背景 先说一下,为什么要使用 Flume + Kafka? 以实时流处理项目为例,由于采集的数据量可能存在峰值和峰谷,假设是一个电商项目,那么峰值通常出现在秒杀时,这时如果直接将 Flume 聚合后的数据输入到 Storm 等分布式计算框架中,可能就会超过集群的处理能力,这时采用 Kafka 就可以起到削峰的作用.Kafka 天生为大数据场景而设计,具有高吞吐的特性,能很好地抗住峰值数据的冲击. 二.整合流程 Flume 发送数据到 Kafka 上主要是通过 KafkaSink 来实现的,主…
一.Transformation spark 常用的 Transformation 算子如下表: Transformation 算子 Meaning(含义) map(func) 对原 RDD 中每个元素运用 func 函数,并生成新的 RDD filter(func) 对原 RDD 中每个元素使用func 函数进行过滤,并生成新的 RDD flatMap(func) 与 map 类似,但是每一个输入的 item 被映射成 0 个或多个输出的 items( func 返回类型需要为 Seq ).…
Hive 常用DML操作 一.加载文件数据到表 1.1 语法 LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)] LOCAL 关键字代表从本地文件系统加载文件,省略则代表从 HDFS 上加载文件: 从本地文件系统加载文件时, filepath 可以是绝对路径也可以是相对路径 (建议使用绝对路径): 从 HDFS 加载文…
上一篇中我们了解了MapReduce和Yarn的基本概念,接下来带领大家搭建下Mapreduce-HA的框架. 结构图如下: 开始搭建: 一.配置环境 注:可以现在一台计算机上进行配置,然后分发给其它服务器 1.1 编辑mapred-site.xml文件: 进入目录 /opt/hadoop/hadoop-2.6.5/etc/hadoop cd  /opt/hadoop/hadoop-2.6.5/etc/hadoop vim mapred-site.xml 添加如下配置: <configurati…
一.Database 1.1 查看数据列表 show databases; 1.2 使用数据库 USE database_name; 1.3 新建数据库 语法: CREATE (DATABASE|SCHEMA) [IF NOT EXISTS] database_name --DATABASE|SCHEMA 是等价的 [COMMENT database_comment] --数据库注释 [LOCATION hdfs_path] --存储在 HDFS 上的位置 [WITH DBPROPERTIES…
学习方法 可以参考官方文档的简单示例来 点击查看 可以直接在控制台使用help命令查看 例如直接使用help命令: 从上图可以看到,表结构的操作,表数据的操作都展示了.接下来我们可以针对具体的命令使用help查看,比如:alter alter help 从图中可以看到,你可以更改列族,可以使用区域复制,可以更改多个列,当然现在只是大概看下,接下来会带领大家实际操练,大家一定要勤于动手呦~ 一.基本命令 打开 Hbase Shell: # hbase shell 1.1 获取帮助 # 获取帮助 h…
这篇文章主要介绍Hive的概念. 简介: Hive中文名叫数据仓库管理系统,之前我们操作MapReduce必须通过编写代码或者通过特殊命令来实现,有了Hive我们通过常用的SQL语句就能操作MapReduce集群了.是不是感觉很方便. 这也是方便不懂MapReduce原理,懂SQL语句的人用的. 有好几个公司都推出了自己的Hive,其中比较出名的是Apache Hive,CDH Hive,HDP Hive和MapR Hive,大家刚开始学习大部分都用的Apache Hive,但是公司中却很少使用…
二次排序 在Hadoop中,默认情况下是按照key进行排序,如果要按照value进行排序怎么办?即:对于同一个key,reduce函数接收到的value list是按照value排序的.这种应用需求在join操作中很常见,比如,希望相同的key中,小表对应的value排在前面.有两种方法进行二次排序,分别为:buffer and in memory sort和 value-to-key conversion.对于buffer and in memory sort,主要思想是:在reduce()函…
申明:本文出自:http://www.cnblogs.com/zlslch/p/5448857.html(该博客干货较多) 1 Java基础: 视频方面:          推荐<毕向东JAVA基础视频教程>. 链接:https://pan.baidu.com/s/1v6KxWA3kCJWAC0HpDSV4_A           提取码:msd9 学习hadoop不需要过度深入,java学习到javase,Java虚拟机的内存管理.以及多线程.线程池.设计模式.并行化多多理解实践即可. 书籍…
日期:2019.10.30 博客期:114 星期三 实验6:Mapreduce实例——WordCount   实验说明: 1.          本次实验是第六次上机,属于验证性实验.实验报告上交截止日期为2018年11月16日上午12点之前. 2.          实验报告命名为:信1605-1班学号姓名实验六.doc. 实验目的 1.准确理解Mapreduce的设计原理 2.熟练掌握WordCount程序代码编写 3.学会自己编写WordCount程序进行词频统计 实验原理 MapRedu…
一.Flink 简介 Apache Flink 诞生于柏林工业大学的一个研究性项目,原名 StratoSphere .2014 年,由 StratoSphere 项目孵化出 Flink,并于同年捐赠 Apache,之后成为 Apache 的顶级项目.2019 年 1 年,阿里巴巴收购了 Flink 的母公司 Data Artisans,并宣布开源内部的 Blink,Blink 是阿里巴巴基于 Flink 优化后的版本,增加了大量的新功能,并在性能和稳定性上进行了各种优化,经历过阿里内部多种复杂业…
一.流处理 1.1 静态数据处理 在流处理之前,数据通常存储在数据库,文件系统或其他形式的存储系统中.应用程序根据需要查询数据或计算数据.这就是传统的静态数据处理架构.Hadoop 采用 HDFS 进行数据存储,采用 MapReduce 进行数据查询或分析,这就是典型的静态数据处理架构. 1.2 流处理 而流处理则是直接对运动中的数据的处理,在接收数据时直接计算数据. 大多数数据都是连续的流:传感器事件,网站上的用户活动,金融交易等等 ,所有这些数据都是随着时间的推移而创建的. 接收和发送数据流…
一.数据准备 为了演示查询操作,这里需要预先创建三张表,并加载测试数据. 数据文件 emp.txt 和 dept.txt 可以从本仓库的resources 目录下载. 1.1 员工表 -- 建表语句 CREATE TABLE emp( empno INT, -- 员工表编号 ename STRING, -- 员工姓名 job STRING, -- 职位类型 mgr INT, hiredate TIMESTAMP, --雇佣日期 sal DECIMAL(7,2), --工资 comm DECIMA…
一.Hbase是什么? Hbase属于NoSql的一种. NoSql数据库分为如下几类: Key-Value类型数据库 这类数据库主要会使用到一个哈希表,这个表有一个特定的键和一个指针指向特定的数据.key/value模型对IT系统来说简单.易部署.但是对DBA只对部分值进行查询和更新的时候,key/value就显得效率低下了.举例如:Tokyo Cabinet,Redis,Voldemort,Oracle BDB. 面向列的数据库 这部分数据库用来应对分布式存储的海量数据.键仍然存在,但是它们…