
大数据
文章平均质量分 92
老子跑的动
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
MapReduce自定义对象序列化
MapReduce自定义对象序列化 数据如下: 首先在本地文件系统这里我使用的是centos6.7图形化界面安装 打开终端,最好切换到root用户下,规避需要权限的操作, 可以参考我写的l博客linux基础入门 要把同一个用户的上行流量、下行流量进行累加,并计算出综合。 例如上面的13897230503有两条记录,就要对这两条记录进行累加,计算总和,得到: 13897230503,500,160...原创 2018-11-23 21:21:10 · 682 阅读 · 0 评论 -
Hive开发使用-
适用场景 1.海量数据的存储处理 2.数据挖掘 3.海量数据的离线分析 3.1目前的Hive的Thrift服务端通常使用HiveServer2,它是HiveServer2改进版本,它提供了新的ThriftAPI来处理JDBC或者ODBC客户端,可以进行Kerberos身份验证,支持多个客户端并发。 3.2BeeLine HiveServer2还提供了新的CLI:BeeLine,它是Hive 0.1...原创 2018-12-16 21:39:34 · 898 阅读 · 0 评论 -
Spark之Spark入门
Scala是一门多范式的编程语言,一种类似java的编程语言,设计初衷是实现可伸缩的语言、并集成面向对象编程和函数式编程的各种特性。由于Spark本身是用Scala语言开发的,所以选择了用Scala来开发应用。 1.Scala下载 Scala官网: http://www.scala-lang.org/download/all.html 选择自己需要的版本下载即可,本次采用2.10.5以作学习所用 ...原创 2018-12-16 20:11:30 · 249 阅读 · 0 评论 -
Spark入门篇之简介
Spark是Apache基金会的一个顶级项目,也是Apache基金会下目前最活跃的开源项目之一,诞生于加州大学伯克利分校的AMP实验室,是一个开源的基于内存的分布式计算框架。由于Spark是基于内存的计算,相对于MapReduce来说,提高了计算速度,同时Spark也提供了高容错性和可扩展性。 1.## 速度快 基于内存的数据处理使得Spark比Mapreduce快100个数据量级以上,即使基于硬...原创 2018-12-16 17:49:03 · 318 阅读 · 0 评论 -
HDFS读写文件流程
1.HDFS写流程 客户端要向HDFS写入数据,首先要跟namenode通信以确认可以写文件并获得接受文件block的datanode,并且由接收到block的datanode负责向其他datanode赋值lock的副本 如下图所示 写详细步骤 1.根namenode通信请求上传文件,namenode检查文件是否已存在,父目录是否存在。 2.namenode返回是否可以上传 3.client会先...原创 2018-12-16 17:10:15 · 203 阅读 · 0 评论 -
HDFS命令参考
在$HADOOP_HOME/bin/hadoop fs里有更多的命令,/bin/hdfs dfs 可以列出所有可以在fs shell系统上运行的命令。此$HADOOP_HOME/bin/hadoop fs -help命令会显示简短的用法。 所有表的操作如下所示,以下是使用参数的一般方式: “” means any file or directory name. “…” means one or m...原创 2018-12-16 16:15:28 · 211 阅读 · 0 评论 -
Kafka安装与整合flume,Sparkstreaming的简单实例测试
Kafka是一种高吞吐量的分布式消息系统,Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群机来提供实时的消费。下面介绍有关Kafka的简单安装和使用,想全面了解Kafka,请访问Kafka的官方博客http://kafka.apache.org/ 首先要玩Kafka必须依赖于zookeeper,所以在安装Kafka之前首先得安装zookeeper 安装z...原创 2018-12-20 21:37:14 · 694 阅读 · 0 评论 -
Linux中以shell脚本的方式运行MapReduce详解
1.每个命令之间用;隔开 说明:各命令的执行给果,不会影响其它命令的执行。换句话说,各个命令都会执行, 但不保证每个命令都执行成功。 2.每个命令之间用&&隔开 说明:若前面的命令执行成功,才会去执行后面的命令。这样可以保证所有的命令执行完毕后,执行过程都是成功的。 例如:cat /etc/redhat-release && yum -y原创 2018-11-27 11:44:31 · 1540 阅读 · 1 评论 -
两个MapReduce实现计算出用户间的共同好友
需求和思路 1.下面是用户的好友关系列表,每一行代表一个用户和他的好友列表。 需要求出哪些人两两之间有共同好友,及他俩的共同好友都有谁。 例如从前2天记录中可以看出,C、E是A、B的共同好友,最终的形式如下: (2)实现思路 之前的示例中都是一个MapReduce计算出来的,这里我们使用2个MapReduce来实现。 1)第1个MapReduce map 找出每个用户都是谁的好友,例如: 读一...原创 2018-11-27 10:47:54 · 1753 阅读 · 1 评论 -
MapReduce的join操作多个Map多个文件
1、需求与实现思路 (1)需求 有2个数据文件:订单数据、商品信息。 订单数据表order 商品信息表product 需要用MapReduce程序来实现下面这个SQL查询运算: select o.id order_id, o.date, o.amount, p.id p_id, p.pname, p.c ategory_id, p.price from t_order o join t_pro...原创 2018-11-26 20:59:11 · 1652 阅读 · 1 评论 -
MapReduce的join操作单个Map单个文件
1、需求与实现思路 (1)需求 有2个数据文件:订单数据、商品信息。 订单数据表order 商品信息表product 需要用MapReduce程序来实现下面这个SQL查询运算: select o.id order_id, o.date, o.amount, p.id p_id, p.pname, p.c ategory_id, p.price from t_order o join t_pro...原创 2018-11-26 20:56:40 · 357 阅读 · 0 评论 -
MapReduce核心流程梳理
MapReduce的大概流程: (1)maptask从目标文件中读取数据 (2)mapper的map方法处理每一条数据,输出到文件中 (3)reducer读取map的结果文件,进行分组,把每一组交给reduce方法进行处理,最后输出到指定路径。 这是最基本的流程,有助于快速理解MapReduce的工作方式。 通过上面的几个示例,我们要经接触了一些更深入的细节,例如mapper的inputform...原创 2018-11-26 20:49:44 · 665 阅读 · 0 评论 -
MapReduce分组输出到多个文件
数据如下: 需要把相同订单id的记录放在一个文件中,并以订单id命名。 (2)实现思路 这个需求可以直接使用MultipleOutputs这个类来实现。 默认情况下,每个reducer写入一个文件,文件名由分区号命名,例如’part-r-00000’,而 MultipleOutputs可以用key作为文件名,例如‘Order_0000001-r-00000’。 所以,思路就是map中处理每条记录...原创 2018-11-26 20:37:50 · 2003 阅读 · 0 评论 -
MapReduce合并小文件
Pom.xml文件内容如下: 需求 要计算的目标文件中有大量的小文件,会造成分配任务和资源的开销比实际的计算开销还打,这就产生了效率损耗。 需要先把一些小文件合并成一个大文件。 实现思路 文件的读取由map负责,在前面的示意图中可以看到一个inputformat用来读取文件,然后以key value形式传递给map方法。 我们要自定义文件的读取过程,就需要了解其细节流程: 所以我们需要自定义一...原创 2018-11-26 20:18:32 · 1361 阅读 · 0 评论 -
MapReducer中的GroupingComparator分组比较器实现
Pom.xml文件为: (2)实现思路 先介绍一个概念GroupingComparator组比较器,通过WordCount来理解它的作用。 WordCount中map处理完成后的结果数据是这样的: <good,1> <good,1> <good,1> <is,1> <is,1&am原创 2018-11-26 20:00:28 · 1070 阅读 · 0 评论 -
自定义分区
数据: 在上个例子的统计需要基础上添加一个新需求:按省份统计,不同省份的手机号放到不同的文件里。 例如137表示属于河北,138属于河南,那么在结果输出时,他们分别在不同的文件中。 (2)实现思路 map和reduce的处理思路与上例相同,这里需要多做2步: 自定义一个分区器Partitioner 根据手机号判断属于哪个分区。有几个分区就有几个reducetask,每个reducetask输出一...原创 2018-11-26 19:06:33 · 835 阅读 · 0 评论 -
在hadoop集群上的集成Hive
本文章的各项配置均参考cloudera官网,如有版本变化,导致配置无效,出错,请参考cloudera官网文档。 cloudera官网:https://www.cloudera.com 输入网址加载成功,导航条拉到最底部。 查看日志文件的命令,防止配置时出错,有些同学连错误都找不到,却讲文档有错,好伤心! //查看日志目录 ls /etc/log cat 相应的日志内容 //第一步,配置Met...原创 2018-12-17 21:32:15 · 1444 阅读 · 0 评论