R_记忆犹新的大数据学习之路
分享自己在大数据学习路上的知识和感悟,欢迎点评!
R_记忆犹新
实现一切可能的可能
展开
-
新闻网站大数据
本次项目是基于企业大数据经典案例项目(大数据日志分析),全方位、全流程讲解 大数据项目的业务分析、技术选型、架构设计、集群规划、安装部署、整合继承与开发和web可视化交互设计。一、业务需求分析(一)捕获用户浏览日志信息(二)实时分析前20名流量最高的新闻话题(三)实时统计当前线上已曝光的新闻话题(四)统计哪个时段用户浏览量最高二、系统架构图设计三、系统数据流程设计四、集群资源...原创 2018-12-05 12:06:42 · 2671 阅读 · 0 评论 -
离线日志采集统计分析
flume采集 设置多源(监听多文件) 设置拦截器 设置avro-sink 设置flumeHA(failover)数据的清洗和处理(ETL):步骤: 1、数据仓库的设计 2、清楚最终的效果数据的清洗: 1. 选用框架: MR Hive SparkCore 2. 将原始数据转换为标准化的数据数据分析模块:次日留存率: 主要解决问题: 唯一用户外链TopN: 注意:广播TopNmysql导入hdfs统计: 使用SqoopUGC: 埋点获取原创 2018-11-27 16:33:49 · 989 阅读 · 0 评论 -
移动平均算法的实现方法
要解决移动平均问题,提供两个简单Java对象解决方案:解决方案1:使用java.util.Queuepackage simpleMoving;/** * SimpleMovingAverage * 使用队列实现POJO移动平均 */import java.util.LinkedList;import java.util.Queue;public class Simple...原创 2019-04-12 20:55:43 · 2774 阅读 · 0 评论 -
数据库使用QueryRunner模拟封装
模拟使用QueryRunner查询数据库:连接数据库的配置dbcp-config.properties:#连接设置driverClassName=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/news_dbusername=rootpassword=root#<!-- 初始化连接 -->initialSize...原创 2018-12-05 12:43:59 · 421 阅读 · 0 评论 -
TopN的练习实现
为了实现TopN,我们需要一个散列表数据结构,从而可以得到键的全序首先用一个类来实现并测试使用。import scala.collection.SortedMapimport scala.collection.immutable.TreeMapobject TopN { def topN[T](L:List[(T,Integer)],N:Int): SortedMap[Int...原创 2018-09-14 15:29:35 · 534 阅读 · 0 评论 -
Hive分析函数的扩展案例
// 数据准备操作:cookie.txtcookie1,2015-04-10,1cookie1,2015-04-11,5cookie1,2015-04-12,7cookie1,2015-04-13,3cookie1,2015-04-14,2cookie1,2015-04-15,4cookie1,2015-04-16,4// 建表语句:create database if n...原创 2018-09-03 10:41:51 · 202 阅读 · 0 评论 -
SparkStreaming连接到数据库
先创建一个连接池,提高效率:MysqlPool:object MysqlPool { private val max = 8 //连接池的连接总数 private val connectionNum = 10 //每次产生的连接数 private var conNum = 0 //当前连接池已经产生的连接数 import java.util pri...原创 2018-07-31 17:18:29 · 1809 阅读 · 0 评论 -
SparkStreaming的WordCount学习
SparkStreaming的入门WordCount:object WordCount { def main(args: Array[String]): Unit = {//local[2]是启动两个线程,一个是接收socket数据,一个打印到控制台 val conf = new SparkConf().setAppName(s"${this.getClass.getSimpl...原创 2018-07-30 12:56:51 · 357 阅读 · 0 评论 -
SecureCRT 的上传和下载操作
SecureCRT 的上传和下载操作在网上找了两篇文章,分别关于ftp和ssh的上传下载,如果有好的大家可以留言分享,不胜感谢~因为关于ftp的比较少,就copy上面,本人并没有验证。关于ssh用sr和sz发现一条错误,而且网上也有解决办法,但感觉get和put已经很方便,就没有继续深究。 《SecureCRT ftp操作》原文地址:http://m.blog.csdn.net/article/d...转载 2018-05-02 11:06:41 · 174 阅读 · 0 评论 -
Hadoop之——机架感知配置
没有尝试过,有时间再试1.背景 Hadoop在设计时考虑到数据的安全与高效,数据文件默认在HDFS上存放三份,存储策略为本地一份,同机架内其它某一节点上一份,不同机架的某一节点上一份。这样如果本地数据损坏,节点可以从同一机架内的相邻节点拿到数据,速度肯定比从跨机架节点上拿数据要快;同时,如果整个机架的网络出现异常,也能保证在其它机架的节点上找到数据。为了降低整体的带宽消耗和读取延时,HD...转载 2018-05-02 11:14:00 · 263 阅读 · 0 评论 -
hive-1.1.0-cdh5.14.0的安装
平台: Linux系统所需安装软件: mysql下载软件:http://archive.cloudera.com/cdh5/cdh/5/hive-1.1.0-cdh5.14.0.tar.gz安装hive:解压:tar -zxvf hive-1.1.0-cdh5.14.0.tar.gz -C /home/hadoop/apps进入hive:cd /home/hadoop/apps/hiv...原创 2018-05-02 20:59:45 · 2472 阅读 · 0 评论 -
Hive 使用方式,即三种连接方式
CLI:进入到 bin 目录下,直接输入命令:[hadoop@hadoop01 bin]$ ./hive补充:1、上面的 hive 命令相当于在启动的时候执行:hive --service cli2、使用 hive --help,可以查看 hive 命令可以启动那些服务3、通过 hive --service serviceName --help 可以查看某个具体命令的使用方式HiveServe...原创 2018-05-02 20:58:17 · 1685 阅读 · 0 评论 -
Hadoop任务的Test测试
/*** Copyright @ 2018 Truemen Tech Co. Ltd.* All right reserved.* @author: rk* date: 2018-02-22 */package com.weibo.report.module;import org.apache.hadoop.conf.Configuration;import org.apache...原创 2018-05-03 12:45:38 · 769 阅读 · 0 评论 -
ecplise本地运行mapreduce任务的环境配置
解决调用Windows开发环境调用hadoop时,报错:“Exception in thread "main" java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0 ”把hadoop 2.7.4版本的hadoop.dll 、winutils.exe ,解决了报错问题。具体做法:1...原创 2018-05-03 14:57:30 · 231 阅读 · 0 评论 -
集群中各个Linux系统之间的免密登录
为了简化各系统之间的相互频繁发送公钥,可以写一下脚本:首先在运行以下脚本之前需要安装expect,使用expect进行人机交互:安装expect(备注:因为expect是基于tcl的,所以需要你的系统中安装有tcl)如何检查?[hadoop@hadoop01 ~]$ whereis tcltcl: /usr/lib64/tcl8.5 /usr/share/tcl8.5 ...原创 2018-05-04 15:47:43 · 327 阅读 · 0 评论 -
Linux系统下的系统管理———挂载外部设备
挂载是一个非常重要的功能,使用非常频繁。它指将一个设备(通常是存储设备,可以挂载 光盘、硬盘、磁带、光盘镜像文件等)挂接到一个已存在的目录上(这个目录可以不为空, 但挂载后这个目录下以前的内容将不可用)。 需要理解的是,Linux 操作系统将所有的设备都看作文件,它将整个计算机的资源都整合成 一个大的文件目录。我们要访问存储设备中的文件,必须将文件所在的分区挂载到一个已存 在的目录上,然后通过访问...原创 2018-05-04 16:47:39 · 567 阅读 · 0 评论 -
Linux系统下集群的JDK的自动安装
首先在使用下面脚本之前要安装wget软件,各节点配置免密登录,挂载一个jdk包:#!/bin/bashBASE_SERVER=hadoop01yum install -y wgetwget $BASE_SERVER/soft/jdk-8u73-linux-x64.tar.gzwget $BASE_SERVER/soft/jdk-8u73-linux-x64.tar.gzsed ...原创 2018-05-04 16:52:43 · 491 阅读 · 0 评论 -
Linux系统下集群的Mysql的自动安装
首先在使用下面脚本之前要安装wget软件,各节点配置免密登录,挂载一个Mysql包:这里用的是mysql的rpm包,安装后设置了远程连接权限,修改了数据库默认字符编码集:#!/bin/bash#远程rpm仓库BASE_SERVER="hadoop01"service mysql stop#删除原有的mysqlEXIST_SERVERS=`rpm -qa |grep -i mysql...原创 2018-05-04 16:59:35 · 195 阅读 · 0 评论 -
Hadoop中的MapReducer学习之第一个例子
WordCountMR的主程序:package wc;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.IntWritable;import org...原创 2018-05-18 11:30:40 · 396 阅读 · 0 评论 -
MapReduce中Combiner组件的使用
Combiner:数据样例:1363157984040 13602846565 5C-0E-8B-8B-B6-00:CMCC 120.197.40.42052.flash2-http.qq.com 综合门户 15 12 1938 2910 2001363157984040 13602846565 5C-0E-8B-8B-B6-00:CMCC 120.197.40.42052.flash2-http...原创 2018-05-18 11:46:29 · 538 阅读 · 0 评论 -
自定义对象实现 MapReduce 框架的序列化及排序
如果需要将自定义的 bean 放在 key 中传输,则还需要实现 Comparable 接口,因为 MapReduce框中的 shuffle 过程一定会对 key 进行排序,此时,自定义的 bean 实现的接口应该是:public class FlowBean implements WritableComparable<FlowBean>:例:进行了序列化的 Flow 类:packag...原创 2018-05-18 12:03:05 · 650 阅读 · 0 评论 -
MapReduce 中的 Partitioner
package flow.partitioner;import java.io.IOException;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;import org.apache.hadoop....原创 2018-05-19 11:45:31 · 284 阅读 · 0 评论 -
Mapreduce中的全局计数器
下面是使用一种新的方式去实现wordCount(全局计数器)package mapreduce.wc;/** * 描述: * 使用一种新的方式去实现wordCount * 全局计数器 */import java.io.IOException;import org.apache.hadoop.conf.Configuration;import org.apache.ha...原创 2018-05-28 20:12:27 · 686 阅读 · 0 评论 -
MapReduce中的多Job串联
求共同好友: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,K以上是数据:A:B,C,D,F,E,O表示:B,C,D,E,F,O是A用户的好友。1、求所...原创 2018-05-28 20:17:11 · 541 阅读 · 0 评论 -
自定义GroupCompartor
求每个班级中的分数最高的学生的信息Student(course,score,name) :package mapreduce.exercise.score;import java.io.IOException;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FileSystem;import...原创 2018-05-28 20:23:30 · 164 阅读 · 0 评论 -
ReduceJoin的简单实现
ReduceJoin实现查询:SQL: select a.id,a.name,b.movie from a join b on a.id = b.id;package mapreduce.join.reduceJoin;import java.io.IOException;import java.util.ArrayList;import java.util.List;import...原创 2018-05-29 08:40:31 · 362 阅读 · 0 评论 -
MapJoin的简单实现
MapJoin 适用于有一份数据较小的连接情况。做法是直接把该小份数据直接全部加载到内存当中,按链接关键字建立索引。然后大份数据就作为 MapTask 的输入,对 map()方法的每次输入都去内存当中直接去匹配连接。然后把连接结果按 key 输出,这种方法要使用 hadoop中的 DistributedCache 把小份数据分布到各个计算节点,每个 maptask 执行任务的节点都需要加载该数据到...原创 2018-05-29 08:56:55 · 4188 阅读 · 0 评论 -
自定义 InputFormat--小文件合并
实现思路:1、编写自定义的 InputFormat2、改写 RecordReader,实现一次 maptask 读取一个小文件的完整内容封装了一个 KV 对3、在 Driver 类中一定要设置使用自定义的 InputFormat:job.setInputFormatClass(WholeFileInputFormat.class)编写 MapReduce 程序:package mapreduce....原创 2018-05-29 09:07:03 · 621 阅读 · 0 评论 -
自定义 OutputFormat--数据分类输出
实现思路:1、在 MapReduce 中访问外部资源2、 自定义 OutputFormat,改写其中的 RecordWriter,改写具体输出数据的方法 write()package mapreduce.format.outputformat;import java.io.IOException;import org.apache.hadoop.conf.Configuration;im...原创 2018-05-29 09:25:36 · 541 阅读 · 0 评论 -
从数据库中读取数据到HDFS
package mapreduce.format.dbInputFormat;import java.io.IOException;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;import org....原创 2018-05-29 09:28:11 · 2097 阅读 · 0 评论 -
读取文件的数据往mysql数据表中写出
package mapreduce.format.dbOutputFormat;import java.io.IOException;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.LongWritable;import o...原创 2018-05-29 09:31:22 · 543 阅读 · 0 评论 -
Hive的基本使用
1、创建库:create database mydb;2、查看库:show databases;3、切换数据库:use mydb;4、创建表: create table t_user(id string, name string);或create table student(id string, name string, sex string, dept string) row format d...原创 2018-06-07 14:48:42 · 1300 阅读 · 2 评论 -
Hive学习小技能总结
1、查看到hive执行的历史命令:进入到用户的主目录,使用命令cat /home/hadoop/.hivehistory2、执行查询时若想显示表头信息时,可以执行命令Hive> set hive.cli.print.header=true;3、hive的执行日志的存储目录在${java.io.tmpdir}/${user.name}/hive.log中,假如使用hadoop用户操作的hive...原创 2018-06-07 14:56:13 · 503 阅读 · 0 评论 -
Hive的架构及元数据表的结构及用途的介绍
Hive的架构:下面是一些东西的解释JDBC : Java DataBase ConnectivityODBC : Open DataBase Connectivity 开放数据库互连,是微软公司开放服务结构中有关数据库的一个组成部分,建立了一组规范,提供一组对数据库访问的标准API。Hive元数据库的中元数据表结构的解释:下面介绍一下Hive元数据中一些表的结构及用途:存储Hive版本的元...原创 2018-06-06 17:45:37 · 641 阅读 · 0 评论 -
hadoop-2.6.0-cdh5.14.2在Linux下的伪分布安装和分布式集群安装
平台: Linux系统所需安装软件:1、必须安装Java,推荐的Java版本在HadoopJavaVersions2、必须安装ssh,并且必须运行sshd才能使用管理远程Hadoop守护程序的Hadoop脚本。下载软件:http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.7.0.tar.gz上传:securecrt 按下ALT+P...原创 2018-05-02 11:03:00 · 1628 阅读 · 0 评论