大数据
文章平均质量分 60
汤愈韬
沉默是金
展开
-
Redis配置开机启动-配置启动的脚本
参考博客:https://www.cnblogs.com/skyessay/p/6433349.htmlhttp://www.wangsenfeng.com/articles/2016/10/27/1477557394256.html呢个redis_pid只会在开启后台进程的时候才会生成,并且如果是使用kill -9强制杀死redis进程的话,这个redis_6379.pid是不会删除的,只...原创 2018-12-07 11:56:58 · 1591 阅读 · 0 评论 -
Hive分区partition详解
请看原文作者的博客:https://blog.csdn.net/qq_36743482/article/details/78418343我补充的是:外部表的分区 :create external table t2( id int ,name string ,hobby array<string> ,add map<St...原创 2018-11-23 09:39:18 · 767 阅读 · 0 评论 -
hive的内部表跟外部表
先建立一个内部表:建表语句-进入hive命令行输入:create table t1( id int ,name string ,hobby array<string> ,add map<String,string>)row format delimitedfields terminated by ','col...原创 2018-11-23 08:48:12 · 933 阅读 · 0 评论 -
Reduce阶段的join - (气象站与天气记录)
情形:假设有两个数据集,气象站数据库和天气记录数据库,并且考虑如何合二为一。一个典型的查询:输出气象站的历史信息,同时各行记录也包含气象站的元数据信息。Reduce join在reduce 端进行连接是MapReduce框架实现join操作最常见的方式,其具体的的实现原理如下:Map端的主要工作:为来自不同表(文件)的 key/value对打标签以区别不同源的记录。然后使用连接字段(两...原创 2018-11-17 20:50:52 · 803 阅读 · 0 评论 -
Reduce端join算法实现 - (订单跟商品)
现在有两张表 1.订单表 2.商品表订单数据表t_order:iddatepidamount100120150710P00012100220150710P00013100220150710P00023100320150710P00032商品信息表t_product:idpnamecategory_idpr...原创 2018-11-17 20:00:44 · 347 阅读 · 0 评论 -
Hive数据处理之报表累计
数据:+----------+---------+--------+| username | month | salary |+----------+---------+--------+| A | 2015-01 | 5 || A | 2015-01 | 15 || B | 2015-01 | 6 || ...原创 2018-11-24 11:33:07 · 2192 阅读 · 0 评论 -
Hadoop之Partition深度解析
请看原文https://blog.csdn.net/yhyr_ycy/article/details/51988218转载 2018-11-17 16:04:51 · 217 阅读 · 0 评论 -
Hive的安装
1.将hive的安装包上传到hadoop集群的一台节点上解压到apps目录下可以去官网上下载hive的安装包将安装文件修改成 hivemv apache-hive-1.2.1-bin/ hivehive的文件结构:2.修改配置文件可以不需要修改配置,直接就启动hive,但是这样hive使用的数据库是默认的 derby 。derby会在运行的当前目录下生成文件,启动目录不同,...原创 2018-11-22 20:16:00 · 418 阅读 · 0 评论 -
求好友中互粉的好友对
好友列表:A:B,C,D,F,E,OB:A,C,E,KC:F,A,D,ID:A,E,F,LE:B,C,D,M,LF:A,B,C,D,E,O,MG:A,C,D,E,FH:A,C,D,E,OI:A,OJ:B,OK:A,C,DL:D,E,FM:E,F,GO:A,H,I,J分析A里面好友有B,而B里面好友有A,那么A跟B就是互为好友。我们的Map过程:将好友列表文件的每...原创 2018-11-19 16:38:39 · 931 阅读 · 0 评论 -
Linux(最简单的版本)下安装MySQL -笔者遇到一系列坑
首先先上传安装包:笔者使用的是rpm按章包:https://pan.baidu.com/s/171UVMHmPBQX6ObcoXeb2BA我之前到处这这个安装包,在官网上,我都没找到这个rpm的安装包。MySQL的官网下载:https://dev.mysql.com/downloads/mysql/但是我一直在官网上找不到这个rpm的下载包。我还发现了一个地方可以下载rpm包:htt...原创 2018-11-22 15:12:27 · 625 阅读 · 0 评论 -
hadoop中NameNode、DataNode、Secondary、NameNode、ResourceManager、NodeManager 介绍
请点击查看原文https://blog.csdn.net/gamer_gyt/article/details/51758881原创 2018-11-21 15:03:36 · 434 阅读 · 1 评论 -
Map端的join -- 商品跟订单合并
参考博客:https://my.oschina.net/leejun2005/blog/111963需求:之所以存在reduce join,是因为在map阶段不能获取所需要的join字段,即同一个key对应的字段可能位于不同的map中。但是Reduce side join 是非常低效的,因为shuffle阶段要经过大量的数据传输。解决办法:Map side join 是针对一下场景进行优...原创 2018-11-19 10:01:28 · 736 阅读 · 0 评论 -
在eclipse中运行集群版MapReduce程序
我们在windows下的eclipse直接将mapReduce程序发送到hadoop集群,在集群上跑mapReduce程序。1. 首先我们需要配置hadoop集群的参数我们可以通过代码的方式进行配置,也可以从hadoop集群中直接下载配置文件下载好的配置文件直接放在项目的src目录下面,注意一定是src目录,只有src目录才可以将源码中的配置文件覆盖。2设置jar包的位置:如果现在...原创 2018-11-16 21:02:26 · 658 阅读 · 0 评论 -
Hive的分桶管理和分区
分桶管理:https://blog.csdn.net/freefish_yzx/article/details/77150714分桶和分区:https://blog.csdn.net/lzm1340458776/article/details/43085423原创 2018-11-23 10:27:17 · 1201 阅读 · 0 评论 -
自定义GroupingComparator -- 求出每一笔订单中成交金额最大的一笔交易
代码地址:https://gitee.com/tanghongping/hadoopMapReduce/tree/master/src/com/thp/bigdata/secondarySort订单id商品id成交金额Order_0000001Pdt_01222.8Order_0000001Pdt_0525.8Order_0000002Pdt_03...原创 2018-11-20 11:39:38 · 813 阅读 · 0 评论 -
HBase数据模型
HBase是将列保存在一个列族里面。这样的好处是:在HBase里面,是没有修改数据这一说法,而是通过版本号来将数据合并成为最新的数据。列族保存的是多个列的内容,最终每一个列族会生成一个文件,这就相当于将有很多列的表拆分,比如将用户名和密码拆分成一个表,另一个表放的是一大堆描述信息,因为在登录的时候,只需要用户名和密码。如果都设置在一张表里面,一查询,查询的内容很大。所以HBase就是分...原创 2018-12-05 14:16:38 · 204 阅读 · 0 评论 -
HBase安装 - 联邦机制下的hadoop集群
老师的联邦机制的hadoop集群的分布 :master1 : namenode zkfcmaster1ha : namenode zkfc zookeeper journalnode master2: namenode zkfc zookeeper journalnode master2ha: namenode zkfc zookeeper journalnodeh2slave1: no...原创 2018-12-05 11:27:41 · 400 阅读 · 0 评论 -
关于MapReduce程序开发的一些总结
mapreduce在编程的时候,基本上一个固化的模式,没有太多可灵活改变的地方,除了以下几处:1 输入数据接口:InputFormatFileInputFormat(文件类型数据读取的通用抽象类) DBInputFormat (数据库数据读取的通用抽象类)默认使用的实现类是: TextInputFormat job.setInputFormatClass(TextInputFor...转载 2018-12-05 10:00:40 · 215 阅读 · 0 评论 -
Hadoop集群的高可用-HA
HDFS的高可用:需求:我们之前搭建的hadoop集群是一个NameNode和三个DateNode原先那套机制:FSNameSystem 元数据对内存的管理器,里面管理的数据都在内存里面,但是在内存里面的数据不太可靠,所以有一个 fsimage 做持久化操作,更新的操作是在edits里面,当一个客户端做数据的操作的时候,导致元数据要发生变化,先把操作记录在日志里面,如果操作成功了,就再记...原创 2018-12-05 09:31:45 · 2227 阅读 · 0 评论 -
网站用户行为日志采集和后台日志服务器搭建
请看原文 — 我好不容易找到的,作者写得非常好。https://blog.csdn.net/weixin_37490221/article/details/80894827?utm_source=blogxgwz0我就给大家分享一下软件把,这样更方便了,我的软件都是按照原文作者的软件去下载的,都是一致的,所以在安装的时候直接复制原文作者的代码就行了。https://pan.baidu.co...原创 2018-11-28 10:25:48 · 2137 阅读 · 0 评论 -
Hdoop搭建伪分布式
我在使用完全分布式的时候,运行MapReduce程序非常地卡,所以我为了跑MapReduce程序,我又搭建了一个伪分布式的hadoop,我参考了下面几篇博客:https://www.cnblogs.com/zhangyinhua/p/7647686.htmlhttps://blog.csdn.net/thus_/article/details/78397495https://blog.csd...原创 2018-11-30 20:17:25 · 1192 阅读 · 0 评论 -
测试将web日志流文件写入hdfs的配置文件
a1.sources = r1a1.sinks = k1a1.channels = c1a1.sources.r1.type = spooldira1.sources.r1.spoolDir =/home/hadoop/loga1.sources.r1.fileHeader = truea1.sinks.k1.type = hdfsa1.sinks.k1.channel = c...原创 2018-11-30 18:03:33 · 1300 阅读 · 0 评论 -
有关azkabn调度任务的一些提醒点 -- 我遇到的坑
使用ozkaban调用MapReduce,像我这样的屌丝,穷得一批。没钱买好机器。所以我使用的虚拟机都是最小配置。机器运行MapReduce程序非常卡。我就经常卡死,一卡死又得重启ozkaban服务,非常麻烦。我经常卡死就是我本来有一个job任务,用来调度MapReduce程序的,但是我以为是卡住了,点了立即执行,没反应,然后我就点了好多次,这下惨了,相当于你的机器要运行好多次这个任务。...原创 2018-11-26 16:49:19 · 1330 阅读 · 0 评论 -
azkaban的配置 -- 软件包
下面这个连接里面有azkaban的安装软件,以及配置方法,和使用方式直接下载就行。配置的东西都差不多,我就不写了。https://pan.baidu.com/s/1LkJJu4ww9zdzswV2-l-XiA...原创 2018-11-26 16:37:01 · 110 阅读 · 0 评论 -
Flume 的配置
Flume 的概述: Flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。 Flume可以采集文件,socket数据包等各种形式源数据,又可以将采集到的数据输出到HDFS、hbase、hive、kafka等众多外部存储系统中 一般的采集需求,通过对flume的简单配置即可实现 Flume针对特殊场景也具备良好的自定义扩展能力,因此,flume可以适用于大部分的日...原创 2018-11-25 15:58:49 · 1873 阅读 · 1 评论 -
Web日志流处理的MapReduce程序 -- 两个(一个使用Collections排序 一个使用MapReduce本身的排序)
我的这两个项目代码地址:Collections排序:https://gitee.com/tanghongping/web_click_mr_hveMapReduce排序:https://gitee.com/tanghongping/MapReduceTest这两个项目里面会有一些车市的代码,可以忽略。使用Collections.sort排序WeblogBeanpackage com...原创 2018-11-29 09:21:13 · 1211 阅读 · 0 评论 -
WEB日志清洗 - java代码
需要从访问日志中梳理出每一个session(如果一个用户两次相邻请求之间的时间差 < 30 min,则该两次请求同属于同一个session,否则分属于不同的session),并且为session的历次请求打上序号模拟日志 :194.237.142.21 - - [18/Sep/2013:06:49:18 +0000] "GET /1.html HTTP/1.1" 304 0 "-" "M.原创 2018-11-25 09:34:31 · 1420 阅读 · 0 评论 -
自定义OutputFormat -实现往不同的目录输出文件
代码地址 :https://gitee.com/tanghongping/hadoopMapReduce/tree/master/src/com/thp/bigdata/myInputFormat需求:现有一些原始日志需要做增强解析处理,流程:1、 从原始日志文件中读取数据2、 根据日志中的一个URL字段到外部知识库中获取信息增强到原始日志3、 如果成功增强,则输出到增强结果目录;如果...原创 2018-11-21 09:31:33 · 628 阅读 · 0 评论 -
FileInputFormat -- 从源码分析
请看作者的原文:https://www.cnblogs.com/teagnes/p/5969459.html转载 2018-11-21 09:19:42 · 224 阅读 · 0 评论 -
MapReduce程序在yarn集群上流程分析
yarn本身也是一个集群,这个集群的老大是resourcemanager,其他的小弟是nodemanager。yarn 是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而MapReduce等运算程序则相当于是运行于操作系统之上的应用程序。运算资源有:运算测程序jar包,配置文件,cpu,内存,IOLinux操作系统提供一种机制可以不同的进程分开这些运算资...原创 2018-11-14 19:46:04 · 261 阅读 · 0 评论 -
NameNode管理元数据的机制
NameNode职责:负责客户端请求的响应元数据的管理(查询,修改)元数据管理namenode对元数据的管理采用了三种存储形式:a.内存元数据(NameSystem)b.磁盘元数据镜像文件c.数据操作日志文件(可以通过日志运算出元数据)2.1 元数据存储机制:A.内存中有一份完整的元数据(内存 meta data)B.磁盘有一个"准完整"的元数据镜像(fsimage),...原创 2018-10-17 23:45:04 · 2234 阅读 · 0 评论 -
Hadoop Shell 基本命令操作(hafs文件系统)
1.hdfs 文件系统存放文件的路径 – bd2/home/hadoop/hdpdata/dfs/data/current/BP-2090395161-127.0.0.1-1538498248563/current/finalized上面这个路径是对于 data node 的机器而言,而对于name node 则不是这个样子的:上面data node 的文件存放的位置,是不能直接往这个...原创 2018-10-12 19:41:20 · 1739 阅读 · 0 评论 -
Socket通信
1.服务端:package com.thp.bigdata.socket;import java.io.IOException;import java.net.InetSocketAddress;import java.net.ServerSocket;import java.net.Socket;/** * 服务端 * @author tommy * */public ...原创 2018-10-05 16:33:01 · 121 阅读 · 0 评论 -
Lock 和 Synchronized
1.使用sychronized实现读写锁:当有多个线程读写文件时,读操作和写操作会发生冲突,读操作和写操作发生冲突现象,但是读操作和写操作不会发生冲突现象但是采用sychronized关键字来实现同步的话,就会导致一个问题:如果多个线程都只是读操作,当一个线程在进行读操作时,其他线程只能等待无法读操作package com.thp.bigdata.thread.lock;/** * 一...原创 2018-10-05 12:05:56 · 1389 阅读 · 0 评论 -
分布式应用系统服务上下线动态感知程序开发
需求描述:服务器会有动态上下线的情况,客户端需要知道服务端到底有哪几台,需要感知服务器是否宕机.前提知识点:package com.thp.bigdata.zkdst;public class Test { public static void main(String[] args) { System.out.println("主线程开始了..."); new Thr...原创 2018-10-03 21:38:52 · 416 阅读 · 0 评论 -
Java API 操作 zookeeper
1.需要的jar包:1.1 zookeeper的核心包:zookeeper-3.4.5.jar1.2 log4j的jar包:log4j-1.2.15.jar1.3 netty的jar包:netty-3.2.2.Final.jar1.4 slf4j的jar包:slf4j-api-1.6.1.jar 和 slf4j-log4j12-1.6.1.jar在zookeeper的压缩文件里面就有:...原创 2018-10-03 16:57:14 · 506 阅读 · 0 评论 -
Zookeeper集群自动启动脚本 -- export 的注意点
前提补充:我们可以通过ssh操作另一台机器测试:ssh bd2 mkdir /root/bd1上面的这条命令就可以在 bd2 上新建一个文件夹了 bd1尝试在bd1上启动bd2的zookeeper服务:ssh bd2 /root/apps/zookeeper-3.4.5/bin/zkServer.sh start但是发现 bd2 上面的 zookeeper并没有启动原因是zo...原创 2018-10-02 23:40:48 · 2285 阅读 · 1 评论 -
Zookeeper集群的搭建
1.先安装 lzrszyum install -y lzrsz接着就可以直接使用 rz 命令将zookeeper的压缩包上传到服务器了2.解决zookeeper的安装包 在 ~ 目录下tar -zxvf zookeeper-3.4.5.tar.gz -C ./apps/看解压的文件 (练习的时候使用的zookeeper是包含了源码)为了复制时速度快一点,所以应该把不影响的文件都删除...原创 2018-10-02 19:45:58 · 311 阅读 · 0 评论 -
自动化部署脚本(安装jdk)
1.先得保证每一台机器都安装了scp:如果没有安装则进行安装:安装scp: scp是在安装ssh的时候安装的,是在ssh的客户端软件里面的yum list | grep ssh安装的是openssh-clients.x86_64yum install -y openssh-clients.x86_642.删除 .ssh 这个文件 之前可能配置了ssh (每一台都要删除 恢...原创 2018-10-02 14:10:26 · 3421 阅读 · 0 评论 -
SSH免密登录
首先下要下载ssh的客户端yum -y install openssh-clients 生成秘钥对: ssh-keygen 再将A自己的公钥拷贝并追加到B的授权列表文件authorized_keys中 ssh-copy-id 192.168.17.xxxx 第一次配置需要输入密码...原创 2018-07-11 15:46:36 · 96 阅读 · 0 评论