MapReduce

sqoop命令,mysql导入到hdfs、hbase、hive

空扰寡人 提交于 2020-04-08 07:01:00
1.测试MySQL连接 bin/sqoop list-databases --connect jdbc: mysql://192.168.1.187:3306/trade_dev --username 'mysql' --password '111111' 2.检验SQL语句 bin/sqoop eval --connect jdbc: mysql://192.168.1.187:3306/trade_dev --username 'mysql' --password '111111' --query "SELECT * FROM TB_REGION WHERE REGION_ID = '00A1719A489D4F49906A8CA9661CCBE8'" 3.导入hdfs 3.1 导入 bin/sqoop import --connect jdbc: mysql://192.168.1.187:3306/trade_dev --username 'mysql' --password '111111' --table TB_REGION --target-dir /sqoop/mysql/trade_dev/tb_region -m 5 --columns "code,name,category,farthercode,visible,regionlevel,region_id"

五分钟学后端技术:一篇文章教你读懂大数据技术栈!

青春壹個敷衍的年華 提交于 2020-04-06 08:22:52
作者:网易云 链接: https://www.zhihu.com/question/27696290/answer/381993207 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 什么是大数据 近几年,市场上出现了很多和大数据相关的岗位,不管是数据分析、数据挖掘,或者是数据研发,都是围绕着大数据来做事情,那么,到底什么是大数据,就是我们每一个要学习大数据技术的朋友要了解的事情了,根据百度百科的介绍 大数据(big data),IT行业术语,是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。 在维克托·迈尔-舍恩伯格及肯尼斯·库克耶编写的《大数据时代》 [1] 中大数据指不用随机分析法(抽样调查)这样捷径,而采用所有数据进行分析处理。大数据的5V特点(IBM提出):Volume(大量)、Velocity(高速)、Variety(多样)、Value(低价值密度)、Veracity(真实性)。 [2] 思维导图 大数据方面核心技术有哪些? 大数据的概念比较抽象,而大数据技术栈的庞大程度将让你叹为观止。 大数据技术的体系庞大且复杂,基础的技术包含数据的采集、数据预处理、分布式存储、NoSQL数据库、数据仓库、机器学习、并行计算

MapReduce——Shuffle过程

时光毁灭记忆、已成空白 提交于 2020-04-05 19:04:48
Shuffle的本意是洗牌、混洗,把一组有一定规则的数据尽量转换成一组无规则的数据,越随机越好。MapReduce中的Shuffle更像是洗牌的逆过程,把一组无规则的数据尽量转化成一组具有一定规则的数据。 为什么MapReduce计算模型需要Shuffle过程? 我们都知道MapReduce计算模型一般包括两个重要的阶段: Map是映射,负责数据的过滤分发;Reduce是规约,负责数据的计算归并。 Reduce数据来源于Map,Map的输出即是Reduce的输入,Reduce需要通过Shuffle来获取数据。 从Map输出到Reduce输入的整个过程可以广义地称为Shuffle (Reduce开始之前吧对应的数据从每个map输出的中间结果拷贝过来,这个过程称为copy,拷贝中间结果过来后,会经过合并、排序等操作,会产生一个排序的输入文件,这个过程为sort,copy和sort两个过程合起来也称为Shuffle过程。)Shuffle横跨Map端和Reduce端,在Map端包括Spill过程,在reduce端包括copy和sort过程。 MapReduce详细流程 1、切片 在FileInputFormat中,计算切片大小的逻辑:Math.max(minSize, Math.min(maxSize, blockSize)) minSize的默认值是1

MapReduce UnitTest

别说谁变了你拦得住时间么 提交于 2020-04-04 08:46:27
通常情况下,我们需要用小数据集来单元测试我们写好的map函数和reduce函数。而一般我们可以使用Mockito框架来模拟OutputCollector对象(Hadoop版本号小于0.20.0)和Context对象(大于等于0.20.0)。 下面是一个简单的WordCount例子:(使用的是新API) 在开始之前,需要导入以下包: 1.Hadoop安装目录下和lib目录下的所有jar包。 2.JUnit4 3.Mockito map函数: Java代码 public class WordCountMapper extends Mapper<LongWritable, Text, Text, IntWritable> { private static final IntWritable one = new IntWritable( 1 ); private Text word = new Text(); @Override protected void map(LongWritable key, Text value,Context context) throws IOException, InterruptedException { String line = value.toString(); // 该行的内容 String[] words = line.split( ";" )

Impala和Hive的关系(详解)

旧城冷巷雨未停 提交于 2020-03-30 15:11:06
Impala和Hive的关系    Impala是基于Hive的大数据实时分析查询引擎 ,直接使用Hive的元数据库Metadata,意味着impala元数据都存储在Hive的metastore中。并且impala兼容Hive的sql解析,实现了Hive的SQL语义的子集,功能还在不断的完善中。 与Hive的关系   Impala 与Hive都是构建在Hadoop之上的数据查询工具各有不同的侧重适应面,但从客户端使用来看Impala与Hive有很多的共同之处,如数据表元数 据、ODBC/JDBC驱动、SQL语法、灵活的文件格式、存储资源池等。 Impala与Hive在Hadoop中的关系如下图 所示。 Hive适合于长时间的批处理查询分析 , 而Impala适合于实时交互式SQL查询 ,Impala给数据分析人员提供了快速实验、验证想法的大数 据分析工具。可以先使用hive进行数据转换处理,之后使用Impala在Hive处理后的结果数据集上进行快速的数据分析。              Impala相对于Hive所使用的优化技术 1、没有使用 MapReduce进行并行计算,虽然MapReduce是非常好的并行计算框架,但它更多的面向批处理模式,而不是面向交互式的SQL执行。与 MapReduce相比:Impala把整个查询分成一执行计划树,而不是一连串的MapReduce任务

Python实现Hadoop MapReduce程序

安稳与你 提交于 2020-03-28 16:23:02
/*--> */ /*--> */ 1.概述 Hadoop Streaming提供了一个便于进行MapReduce编程的工具包,使用它可以基于一些可执行命令、脚本语言或其他编程语言来实现Mapper和 Reducer,从而充分利用Hadoop并行计算框架的优势和能力,来处理大数据。需要注意的是,Streaming方式是 基于Unix系统的标准输入 输出 来进行MapReduce Job的运行,它区别与Pipes的地方主要是通信协议,Pipes使用的是Socket通信,是对使用C++语言来实现MapReduce Job并通过Socket通信来与Hadopp平台通信,完成Job的执行。 任何支持标准输入输出特性的编程语言都可以使用Streaming方式来实现MapReduce Job,基本原理就是输入从Unix系统标准输入,输出使用Unix系统的标准输出。 2. Hadoop Streaming原理 mapper和reducer会从标准输入中读取用户数据,一行一行处理后发送给标准输出。Streaming工具会创建MapReduce作业,发送给各个tasktracker,同时监控整个作业的执行过程。 如果一个文件(可执行或者脚本)作为mapper,mapper初始化时,每一个mapper任务会把该文件作为一个单独进程启动,mapper任 务运行时

yarn 状态机

江枫思渺然 提交于 2020-03-27 18:12:50
3 月,跳不动了?>>> 每个有状态且存在复杂状态转换的对象都包含一个状态机 例如org.apache.hadoop.mapreduce.v2.app.job.impl.JobImpl 代表一个mr job,其内部就包含一个状态机: public class JobImpl implements org.apache.hadoop.mapreduce.v2.app.job.Job, EventHandler<JobEvent> { protected static final StateMachineFactory<JobImpl, JobStateInternal, JobEventType, JobEvent> stateMachineFactory = new StateMachineFactory<JobImpl, JobStateInternal, JobEventType, JobEvent>(JobStateInternal.NEW) .addTransition(JobStateInternal.NEW, JobStateInternal.FAIL_ABORT, JobEventType.JOB_INIT_FAILED, new InitFailedTransition()) //JobImpl 在NEW状态 下接收到 JOB_INIT_FAILED类型的事件后

Hadoop1重新格式化HDFS

荒凉一梦 提交于 2020-03-27 06:42:26
首先我们来认识一下HDFS, HDFS(Hadoop Distributed File System )Hadoop分布式文件系统。它其实是将一个大文件分成若干块保存在不同服务器的多个节点中。通过联网让用户感觉像是在本地一样查看文件,为了降低文件丢失造成的错误,它会为每个小文件复制多个副本(默认为三个),以此来实现多机器上的多用户分享文件和存储空间。 Hadoop主要包含三个模块: HDFS模块:HDFS负责大数据的存储,通过将大文件分块后进行分布式存储方式,突破了服务器硬盘大小的限制,解决了单台机器无法存储大文件的问题,HDFS是个相对独立的模块,可以为YARN提供服务,也可以为HBase等其他模块提供服务。 YARN模块:YARN是一个通用的资源协同和任务调度框架,是为了解决Hadoop中MapReduce里NameNode负载太大和其他问题而创建的一个框架。YARN是个通用框架,不止可以运行MapReduce,还可以运行Spark、Storm等其他计算框架。 MapReduce模块:MapReduce是一个计算框架,它给出了一种数据处理的方式,即通过Map阶段、Reduce阶段来分布式地流式处理数据。它只适用于大数据的离线处理,对实时性要求很高的应用不适用。多相关信息可以参考博客: 初识HDFS(10分钟了解HDFS、NameNode和DataNode) 。

hadoop2.2.0 MapReduce分区

女生的网名这么多〃 提交于 2020-03-25 00:52:05
 package com.my.hadoop.mapreduce.partition; import java.util.HashMap; import java.util.Map; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Job; import org.apache.hadoop.mapreduce.Mapper; import org.apache.hadoop.mapreduce.Partitioner; import org.apache.hadoop.mapreduce.Reducer; import org.apache.hadoop.mapreduce.lib.input.FileInputFormat; import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; public class ParCount { public static class ParMap

Hadoop之MapReduce程序应用三

狂风中的少年 提交于 2020-03-24 23:12:33
摘要:MapReduce程序进行数据去重。 关键词:MapReduce 数据去重 数据源: 人工构造日志数据集log-file1.txt和log-file2.txt。 log-file1.txt内容 2014-1-1 wangluqing 2014-1-2 root 2014-1-3 root 2014-1-4 wangluqing 2014-1-5 root 2014-1-6 wangluqing log-file2.txt内容 2014-1-1 root 2014-1-2 root 2014-1-3 wangluqing 2014-1-4 wangluqing 2014-1-5 wangluqing 2014-1-6 root 问题描写叙述: 解决方式: 1 开发工具 VM10 + Ubuntu12.04+Hadoop1.1.2 2 设计思路 数据去重是让原始数据中出现次数超过一次的数据在输出文件里仅仅出现一次。利用键值的唯一性法则能够实现数据的去重。 程序清单 package com.wangluqing; import java.io.IOException; import java.util.StringTokenizer; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs