MapReduce

Hadoop凉凉?不,它仍是大厂铁饭碗

守給你的承諾、 提交于 2020-08-07 01:45:20
关于Hadoop可能很多都是坏消息。 在2018年10月,最大的两个Hadoop发行版厂商Cloudera和Hortonworks宣布合并,抱团取暖,由于财报不太好,高层也离职了。还有第三大Hadoop发行版厂商MapR差点破产,幸亏最后被HPE收购....... 1 Hadoop的整体印象 一句话概括:Hadoop就是存储海量数据和分析海量数据的工具。 Hadoop是由java语言编写的,在分布式服务器集群上存储海量数据并运行分布式分析应用的开源框架,其核心部件是HDFS与MapReduce。 HDFS是一个分布式文件系统:引入存放文件元数据信息的服务器Namenode和实际存放数据的服务器Datanode,对数据进行分布式储存和读取。 MapReduce是一个计算框架:MapReduce的核心思想是把计算任务分配给集群内的服务器里执行。通过对计算任务的拆分(Map计算/Reduce计算)再根据任务调度器(JobTracker)对任务进行分布式计算。 2 Hadoop的优势 | 高可靠性 :Hadoop 按位存储和处理数据的能力值得人们信赖。 | 高扩展性 : Hadoop 是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以干计的节点中。 | 高效性 : Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。 |

Hive SQL优化方式及使用技巧

时间秒杀一切 提交于 2020-08-06 19:52:40
HIVE简介 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询,可以将sql语句转换为MapReduce任务进行运行 同时,hive也允许熟悉map-reduce的开发者开发自定义的mapper和reducer来处理内建的mapper和reducer无法处理的复杂的分析工作。 用户发出sql命令----> hive处理并转换为MapReduce---->提交任务到hadoop并运行在hdfs HIVE DDL Hive建表(压缩表和非压缩表) 一个表可以拥有一个或者多个分区,每个分区以文件夹的形式单独存在于表文件夹的目录下 创建表:指定exterbal关键字的就是外部表,没有就是内部表。内部表在drop的时候会从hdfs上删除数据,外部表不会删除 如果不指定数据库,hive会把表创建在默认数据库下。 创建内部表: create table if not exists `my_inner_table`( `id` bigint comment ' 逻辑id,记录的唯一id ' , ` user_id ` string comment ' user_id ' ) comment ' 内部表 ' partitioned by (`dt` string comment ' date, yyyy-MM-dd ' ) ROW

使用Hadoop分析气象数据完整版(附带完整代码)

你。 提交于 2020-08-06 19:49:59
《分布式》布置了一道小作业,让我花了7天时间学习了Hadoop。。。现在终于可以正式地做这个作业了,记录一下。 使用Hadoop分析气象数据 1 获取数据 1.1 下载数据 1.2 数据格式 1.3 合并数据 2 MapReduce处理数据 2.1 环境配置,启动集群 2.2 上传到HDFS 2.2 编写MapReduce代码 2.2.1 TemperatureMapper 2.2.2 TemperatureReducer 2.2.3 JobMain 2.3 执行 2.3.1 打包、上传 2.3.2 运行 3 导入数据到Hive 4 Hive数据分析 5 使用Sqoop导入数据到Mysql 5.1 Mysql创建数据库 5.2 开始导入 6 展示数据 6.1 前端代码 6.2 后端代码 1 获取数据 1.1 下载数据 注意:为了不出现横向拖拉,命令里我加了换行,所有命令都是如此。 获取命令: wget -D --accept-regex = REGEX -P data -r -c ftp://ftp.ncdc.noaa.gov/pub/data/noaa/isd-lite/2019/5* 注意:下载可能出现卡顿,直接 ctrl+c 中断,然后再次输入命令即可。 我就下载了下面这么多,共计78429条。 1.2 数据格式 截取部分数据,格式如下: 2019 01 01 00 -65

hadoop开发(MapReduce)之基于docker快速搭建hadoop测试环境

天涯浪子 提交于 2020-08-06 19:44:03
前置条件 docker已安装(最好配置上使用阿里的镜像源,更快一些): 1.下载镜像 docker pull sequenceiq/hadoop-docker:2.6.0 2.新建并运行镜像 docker run -i -t -p 50070:50070 -p 9000:9000 -p 8088:8088 -p 8040:8040 -p 8042:8042 -p 49707:49707 -p 50010:50010 -p 50075:50075 -p 50090:50090 sequenceiq/hadoop-docker:2.6.0 3.验证 docker ps -a 或者 直接访问 http://192.168.1.76:50070/ 来源: oschina 链接: https://my.oschina.net/haitaohu/blog/4293607

OSS数据湖实践——EMR + Spark + OSS案例

半城伤御伤魂 提交于 2020-08-06 19:43:24
本文介绍大数据分析引擎spark 基于EMR集群,利用OSS云存储数据,实现一个简单的分析案例。 前提条件 • 已注册阿里云账号,详情请参见注册云账号。 • 已开通E-MapReduce服务和OSS服务。 • 已完成云账号的授权,详情请参见角色授权。 • 已创建Haoop集群,且带有spark组件, 配置好相关的OSS数据源。 步骤一:数据上传至oss hadoop fs -put course2.csv oss://your-bucket-name/ 步骤二:编写处理代码,及打包 1、分析代码 import org.apache.spark.sql.{Row, SparkSession} import org.apache.spark.sql.expressions.Window import org.apache.spark.sql.functions.row_number object OSSExample { def main(args: Array[String]): Unit = { val spark = SparkSession .builder .appName("OSSExample") .getOrCreate() val data=spark.read.format("csv").option("header","true").load("oss:/

OSS 数据湖实践 —— EMR+OSS入门

混江龙づ霸主 提交于 2020-08-06 13:32:24
对象存储服务(Object Storage Service,OSS)是一种海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件;E-MapReduce(EMR)构建于云服务器ECS上,基于开源的Apache Hadoop和Apache Spark,可以方便地使用Hadoop和Spark生态系统中的其他周边系统(例如,Apache Hive、Apache Pig和HBase等)来分析和处理数据;E-MapReduce还可以与阿里云的云数据存储系统OSS进行数据传输,把二者各自优势结合起来,使存储计算分离,方便快捷搭建大数据计算环境,实现大数据分析需求。 前提条件 • 已注册阿里云账号,详情请参见 注册阿里云账号 。 • 已开通E-MapReduce服务和OSS服务。 • 已完成云账号的授权,详情请参见 角色授权 。 步骤一:创建EMR集群及相关配置 在使用spark 操作oss中的数据之前,您需要在本地安装MAVEN、JAVA、SCALA环境,以及在E-MapReduce上创建Hadoop集群。 1、在本地安装JAVA、MAVEN、SCALA环境; 2、登录阿里云 E-MapReduce控制台 ,创建Hadoop集群(可选服务中必选spark、smartdata、bigboot、knox服务) 3、在创建集群时,设置knox账号密码,挂载公网 及设置集群登录密码; 4

OSS数据湖实践——EMR + Flink + OSS案例

旧街凉风 提交于 2020-08-06 10:56:25
本文介绍使用Flink大数据分析引擎,基于EMR,利用OSS云存储数据,实现一个分析案例。 前提条件 • 已注册阿里云账号,详情请参见注册云账号。 • 已开通E-MapReduce服务和OSS服务。 • 已完成云账号的授权,详情请参见角色授权。 • 已创建Haoop集群,且带有spark组件。 • 相关更多配置请参考OSS入门文档。 步骤一:数据上传至oss hadoop fs -put course2.csv oss://your-bucket-name/ 步骤二:编写处理代码,及打包 package org.myorg.quickstart import org.apache.flink.api.scala._ import org.apache.flink.table.api.scala._ import org.apache.flink.table.api._ import org.apache.flink.table.api.TableEnvironment object OSSExample { def main(args: Array[String]) { // set up the batch execution environment case class Course(Id : Int, Subject : String, Level : String) val

OSS数据湖实践——EMR + Hive + OSS案例

半世苍凉 提交于 2020-08-06 08:14:48
Hive是一种建立在Hadoop文件系统上的数据仓库架构,并对存储在HDFS中的数据进行分析和管理;本文通过一个简单的示例来展现如何结合OSS+EMR+Hive来分析OSS上的数据。 前提条件 • 已注册阿里云账号,详情请参见注册云账号。 • 已开通E-MapReduce服务和OSS服务。 • 已完成云账号的授权,详情请参见角色授权。 • 已创建Haoop集群,且带有Hive组件, 且配置好OSS数据源。 步骤一:上传数据至OSS hadoop fs -put course.csv oss://your-bucket-name/ 步骤二:创建Hive作业开发页面 步骤三:SQL 实现 创建数据表 CREATE TABLE course (num INT, subject string, level string) row format delimited fields terminated by "," location "/"; 导入数据 LOAD DATA INPATH 'oss://your-bucket-name/course.csv' INTO TABLE course; 查询语句 select A.suject, A.level, A.count from (select suject, level, count(*) as count from course

你必须知道的云计算知识(上)

℡╲_俬逩灬. 提交于 2020-08-06 04:39:06
最近订阅学习了《深入浅出云计算》专栏,一口气学完之后,做了一些总结笔记形成此文,特分享与你,希望对你有所帮助!本文为上半部分,主要总结了IaaS篇的核心要点。 零、开篇词 1、开发者为何要学习云计算?   (1)历经多年发展已成熟并成为一种潮流, 企业数字化转型的组成部分。   (2)产业的发展必然影响个体:   未来更多的应用都会运行在云上,架构模式和思维方式也会更多地与云契合共生!   (3)很多人对云的特性还不够熟悉,对云产品存在误解甚至偏见。 2、开发者应该如何学习云计算?   尽可能多地结合应用场景来解析云的概念和能力, 学习“用云”而非“做云” ;对于我们程序员学习者而言,也是如此,重点放在用云上即可!   不进行“厂商绑定”而是同时观察运用多个主流云厂商的服务, 了解共性和差异性 ;对于我们学习者而言,先了解共性和差异,再重点放在企业所选择的云服务商提供的产品上重点关注! 一、Iaas篇   IaaS 的本质, 是对云数据中心和各类 IT 基础设施的抽象,是基于软件技术对物理硬件进行的封装和虚拟 。 1、区域和可用区   区域对应云厂商在 某个地理位置提供的所有云服务的组合 =>对外提供云服务的基本单位和容器;区域一般以国家或地区命名,也经常辅以城市和序号予以区分,例如:cn-hangzhou,cn-beijing,cn-chengdu等;  

java大数据最全课程学习笔记(2)--Hadoop完全分布式运行模式

女生的网名这么多〃 提交于 2020-08-06 03:44:40
目前 CSDN , 博客园 , 简书 同步发表中,更多精彩欢迎访问我的 gitee pages 目录 Hadoop完全分布式运行模式 步骤分析: 编写集群分发脚本xsync 集群配置 集群部署规划 配置集群 集群单点启动 SSH无密登陆配置 登录状态的环境变量 群起集群 集群启动/停止方式总结 集群时间同步 其他注意事项 Hadoop完全分布式运行模式 步骤分析: 准备3台客户机(关闭防火墙、静态ip、主机名称) vim /etc/sysconfig/network 三台机器各自的配置分别为HOSTNAME=hadoop101;HOSTNAME=hadoop102;HOSTNAME=hadoop103 vim /etc/hosts 三台机器都加入下面的映射关系 192.168.1.101 hadoop101 192.168.1.102 hadoop102 192.168.1.103 hadoop103 安装JDK 配置环境变量 安装Hadoop 配置环境变量 配置集群 单点启动 配置ssh 群起并测试集群 由于在 上一章节 已经配置好环境并测试了hadoop伪分布式开发模式,所以在此不再赘述. 编写集群分发脚本xsync scp(secure copy) 安全拷贝(全量复制) scp定义 scp可以实现服务器与服务器之间的数据拷贝.(from server1 to server2)