
大数据
Jorocco
爬行者!
展开
-
Sqoop的简单使用
1、Sqoop的介绍 Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、oracle…)间进行数据的传递,可以将一个关系型数据库中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。一般情况下,是将数据分析的结果导出到关系型数据库中。2、Sqoop的安装步骤Sqoop选择版本...原创 2019-05-24 10:28:59 · 700 阅读 · 0 评论 -
大数据项目(三)————电商模块四(五)
1、广告点击流量实时统计模块 网站 / app,通常会给一些第三方的客户,打一些广告;也是一些互联网公司的核心收入来源;广告在网站 / app某个广告位打出去,在用户来使用网站 / app的时候,广告会显示出来;此时,有些用户可能就会去点击那个广告。广告被点击以后,实际上,我们就是要针对这种用户行为(广告点击行为),实时数据,进行实时的大数据计算和统计。每次点击一个广告以后,通常来说,网...原创 2018-09-06 22:42:02 · 3537 阅读 · 1 评论 -
大数据项目(四)————用户画像
1、用户画像概述 用来勾画用户(用户背景、特征、性格标签、行为场景等)和联系用户需求与产品设计的,旨在通过从海量用户行为数据中炼银挖金,尽可能全面细致的抽出一个用户的信息全貌,从而帮助解决如何把数据转为商业价值的问题。 1.1 用户画像数据来源 用户画像数据来源中连个最终要的数据就是用户属性以及物品属性,有了这两个,我们就可以从用户-用户、用户-电影、电影-电影三方面展开相应的相似度计算...原创 2018-08-05 19:25:41 · 37472 阅读 · 3 评论 -
大数据项目(三)————电商模块三(四)
1、模块介绍Spark作业接收taskid,查询对应的MySQL中的task,获取用户指定的筛选参数;统计出指定日期范围内的,各个区域的top3热门商品;最后将结果写入MySQL表中。 2、需求分析 1、区域信息在哪里,各个城市的信息,城市是不怎么变化的,没有必要存储在hive里?MySQL,Hive和MySQL异构数据源使用,技术点 2、hive用户行为数据,和mysql城市信息,...原创 2018-09-06 22:42:12 · 4544 阅读 · 0 评论 -
大数据项目(三)————电商模块二(三)
1、模块二介绍——页面单跳转化率页面单跳转化率,计算出来以后,还是蛮有用的,蛮有价值的。产品经理,可以根据这个指标,去尝试分析,整个网站,产品,各个页面的表现怎么样,是不是需要去优化产品的布局;吸引用户最终可以进入最后的支付页面;数据分析师,可以基于咱们的这个数据,做更深一步的计算和分析企业管理层,可以看到整个公司的网站,各个页面的之间的跳转的表现,如何?心里有数,可以适当调整...原创 2018-09-06 22:41:47 · 2117 阅读 · 0 评论 -
安装nginx和ganglia
1、什么是nginx 2、在contos上安装nginx1.a)先安装G++$>sudo yum install gccb)安装pcre$>sudo yum install pcre pcre-devel openssl openssl-devel -yc)手动通过源代码编译安装nginx$>tar -xzvf nginx-1.6.3.tar.tz ...原创 2018-07-22 09:21:49 · 611 阅读 · 0 评论 -
Spark(九)————数据倾斜解决
1、数据倾斜原理及现象分析 在执行shuffle操作的时候,大家都知道,我们之前讲解过shuffle的原理。是按照key,来进行values的数据的输出、拉取和聚合的。同一个key的values,一定是分配到一个reduce task进行处理的。多个key对应的values,总共是90万。但是问题是,可能某个key对应了88万数据,key-88万values,分配到一个task上去面...原创 2018-09-06 22:41:36 · 554 阅读 · 0 评论 -
Spark(八)———— troubleshooting控制
1、控制shuffle reduce端缓冲大小以避免OOM map端的task是不断的输出数据的,数据量可能是很大的。但是,其实reduce端的task,并不是等到map端task将属于自己的那份数据全部写入磁盘文件之后,再去拉取的。map端写一点数据,reduce端task就会拉取一小部分数据,立即进行后面的聚合、算子函数的应用。每次reduece能够拉取多少数据,就由buffer...原创 2018-09-06 22:41:28 · 573 阅读 · 0 评论 -
Spark(七)————性能调优
1、分配更多的资源分配更多资源:性能调优的王道,就是增加和分配更多的资源,性能和速度上的提升,是显而易见的;基本上,在一定范围之内,增加资源与性能的提升,是成正比的;写完了一个复杂的spark作业之后,进行性能调优的时候,首先第一步,我觉得,就是要来调节最优的资源配置;在这个基础之上,如果说你的spark作业,能够分配的资源达到了你的能力范围的顶端之后,无法再分配更多的资源了,公司资源有限;那...原创 2018-09-06 22:41:08 · 916 阅读 · 0 评论 -
大数据项目(三)————电商项目模块一(二)
1、用户访问Session介绍用户在电商网站上,通常会有很多的点击行为,首页通常都是进入首页;然后可能点击首页上的一些商品;点击首页上的一些品类;也可能随时在搜索框里面搜索关键词;还可能将一些商品加入购物车;对购物车中的多个商品下订单;最后对订单中的多个商品进行支付。用户的每一次操作,其实可以理解为一个action,比如点击、搜索、下单、支付用户session,指的就是,从用户第一次进...原创 2018-09-06 22:40:52 · 6567 阅读 · 3 评论 -
大数据项目(三)————电商项目介绍(一)
1、项目介绍本项目主要用于互联网电商企业中,使用Spark技术开发的大数据统计分析平台,对电商网站的各种用户行为(访问行为、购物行为、广告点击行为等)进行复杂的分析。用统计分析出来的数据,辅助公司中的PM(产品经理)、数据分析师以及管理人员分析现有产品的情况,并根据用户行为分析结果持续改进产品的设计,以及调整公司的战略和业务。最终达到用大数据技术来帮助提升公司的业绩、营业额以及市场占有率的目标...原创 2018-09-06 22:40:14 · 16213 阅读 · 2 评论 -
Spark2.2源码剖析——SparkContext
Spark应用程序的提交离不开Spark Driver,后者是驱动应用程序在Spark集群上执行的原动力。了解Spark Driver的初始化,有助于理解Spark应用程序与Spark Driver的关系。 而Spark Driver的初始化始终围绕着SparkContext的初始化。SparkContext可以算得上是Spark应用程序的发动机引擎,轿车要想跑起来,发动机首先要启动。Sp...转载 2019-01-14 13:19:29 · 1061 阅读 · 0 评论 -
Spark2.2源码剖析——SparkContext初始化及Spark环境创建
阅读指导:在《Spark2.2——SparkContext概述》一文中,曾经简单介绍了SparkEnv。本节内容将详细介绍SparkEnv的创建过程。 在Spark中,凡是需要执行任务的地方就需要SparkEnv。在生产环境中,SparkEnv往往运行于不同节点的Executor中。但是由于local模式在本地执行的需要,因此在Driver本地的Executor也需要SparkEnv。Sp...原创 2019-01-15 12:22:50 · 604 阅读 · 0 评论 -
Spark2.2——MemoryManager
占个位原创 2019-01-15 11:33:08 · 369 阅读 · 0 评论 -
Oozie的简单使用
1、Oozie的介绍 Oozie是一个工作流引擎服务器,用于运行Hadoop Map/Reduce和Hive等任务工作流.同时Oozie还是一个Java Web程序,运行在Java Servlet容器中,如Tomcat中。Oozie以action为基本任务单位,可以将多个action构成一个DAG图(有向无环图Direct Acyclic Graph...原创 2019-05-26 16:27:16 · 5572 阅读 · 0 评论 -
Spark2.2源码剖析——SecurityManager
SecurityManager主要对帐号、权限以及身份认证进行设置和管理。如果 Spark 的部署模式为 YARN,则需要生成 secret key (密钥)并存储 Hadoop UGI。而在其他模式下,则需要设置环境变量 _SPARK_AUTH_SECRET(优先级更高)或者 spark.authenticate.secret 属性指定 secret key (密钥)。最后SecurityM...转载 2019-01-15 13:46:13 · 890 阅读 · 0 评论 -
Spark2.2——RpcEnv(一)
Spark1.6推出的RpcEnv、RpcEndPoint、RpcEndpointRef为核心的新型架构下的RPC通信方式,在底层封装了Akka和Netty,为未来扩充更多的通信系统提供了可能。RpcEnv是一个更宏观的Env,是Spark集群Rpc通信的基础服务环境,因此在集群启动时候所有的节点(无论Master还是Worker)都会创建一个RpcEnv,然后将该节点注册到RpcEnv中。R...原创 2019-01-16 11:00:22 · 770 阅读 · 0 评论 -
Spark(五)————MLlib
1、Spark机器学习库特点[Estimator] 运行在包含了feature和label(结果)的dataFrame之上,对数据进行训练创建model。 该模型用于以后的预测。[Transformer] 将包含feature的Dataframe变换成了包含了预测的dataframe.由Estimator创建的model就是Transformer。[Parameter] Est...原创 2018-07-06 11:23:51 · 854 阅读 · 0 评论 -
Spark(四)————SparkSQL和SparkStreaming
1、什么是SparkSQL SparkSQL模块能构建在Spark上运行sql语句,主要有DataFrame(数据框、表),它类似于构建在hadoop上的hive以及构建在hbase上的pheonix用于进行sql交互。使用类似SQL方式访问hadoop,实现MR计算。df = sc.createDataFrame(rdd);DataSet<Row> === Data...原创 2018-07-05 16:10:26 · 4841 阅读 · 0 评论 -
Spark(三)————作业提交流程
1、Spark核心API[SparkContext] 连接到spark集群,入口点.[RDD] 它是一个分区的集合. 弹性分布式数据集. 不可变的数据分区集合. 基本操作(map filter , persist) 分区列表 //数据 应用给每个切片的计算函数 //行为 到其他RDD的依赖列表 //依赖关系 (可...原创 2018-07-05 13:54:33 · 3130 阅读 · 0 评论 -
Hadoop————与MySql的交互以及Hive加强
1、与MySql的交互 数据仓库 OLAP //online analyze process,在线分析处理,延迟性高。 数据库 OLTP //online transaction process在线事务处理,实时性好。 1.1 数据库的连接1.创建mysql数据库和表create table users(id int primary k...原创 2018-06-21 21:49:03 · 1228 阅读 · 0 评论 -
Hadoop——HDFS以及MapReduce的一些总结
1、HDFS API简单操作文件package cn.ctgu.hdfs;import java.io.IOException;import java.io.InputStream;import java.net.URL;import java.net.URLConnection;import org.apache.commons.io.output.ByteArrayOu...原创 2018-06-12 10:23:42 · 789 阅读 · 1 评论 -
Hadoop(四)————MapReduce代码实现一些基本操作
1、计算总流量需求:在一个超大文件中(如下图)分别统计出每个电话号码的上行流量、下行流量以及流量总和并输出。 FlowBean.javapackage cn.ctgu.hadoop.mr.bean;import java.io.DataInput;import java.io.DataOutput;import java.io.IOException;import o...原创 2018-04-29 14:24:37 · 2930 阅读 · 0 评论 -
Hadoop(三)————HDFS以及MapReduce、YARN源码分析
1、HDFS源码分析1.1HDFS基本操作代码示例package cn.ctgu.hadoop;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.n...原创 2018-04-28 15:23:15 · 476 阅读 · 0 评论 -
Hadoop(二)————集群的搭建
1、条件准备1.1 装Linux系统(CentOS)1.2 配置网络连接采用NAT模式设置静态IP,防止每次开机时IP地址变化,具体设置方式如: 1.3 VMware几种网络配置方式详解 这里写链接内容 1.4 Linux环境配置1.4.1 添加用户adduser hadoop //添加一个名为hadoop...原创 2018-04-28 13:51:03 · 446 阅读 · 0 评论 -
Hadoop(一)
1、Hadoop是什么 Hadoop主要是由Doung Cutting和Mike Cafarella受到Google的两篇论文(GFS、MapReduce)的启发,采用Java编写的,用于实现海量数据存储和分析,由Apache基金会支持的一个处理大型数据的开源框架。Hadoop框架应用工程提供跨计算机集群的分布式存储和计算环境,其中两大核心为:HDFS(分布式文件存储系统)和MapRed...原创 2018-04-27 11:13:19 · 801 阅读 · 0 评论 -
Hadoop(九)————Kafka
1、什么是Kafka 1、kafka是一个分布式的消息缓存系统 2、kafka集群中的服务器都叫做broker 3、kafka有两类客户端,一类叫producer(消息生产者),一类叫做consumer(消息消费者),客户端和broker服务器之间采用tcp协议连接 4、kafka中不同业务系统的消息可以通过topic进行区分,而且每一个消息topic都会被分区,以分担消息读写的负载 5...原创 2018-05-03 14:29:15 · 3171 阅读 · 0 评论 -
Hadoop(八)————Storm
1、什么是Storm 2、Storm的一些概念 3、Storm的安装1、安装一个zookeeper集群2、上传storm的安装包,解压3、修改配置文件storm.yaml#所使用的zookeeper集群主机storm.zookeeper.servers: - "Sla...原创 2018-05-02 21:34:08 · 385 阅读 · 0 评论 -
Hadoop(七)————HBase
1、什么是HBase 2、HBase集群的搭建2.1 节点规划 2.2 集群搭建1.上传hbase安装包2.解压3.配置hbase集群,要修改3个文件(首先zk集群已经安装好了) 注意:要把hadoop的hdfs-site.xml和core-site.xml 放到hbase/conf下 3.1修改hbase-env.sh...原创 2018-05-02 20:19:00 · 275 阅读 · 0 评论 -
Hadoop(六)————Hive
1、什么是Hive 2、Hive的安装Hive只需要在一个节点上安装即可,因为它不是一个集群。2.1 上传tar包2.2 解压tar -zxvf hive-0.9.0.tar.gz -C /app/2.3 安装hive运行hive发现内置默认的metastore存在问题(1.换执行路径后,原来的表不存在了。2.只能有一个用户访问同一个表),所以配置成mysql...原创 2018-05-02 14:54:20 · 316 阅读 · 0 评论 -
Hadoop————全排序和二次排序
1、多输入 使用多个输入作为job的输入来源,也就是在InputFormat 前把添加各种不同的序列源里面的方法也就是 addInputPath等等,map也可以在这个流程中套进来。 combiner:合成,map的reduce(聚合) 在分区内聚合,分区后产生数据后在分区内聚合(每个分区都会有一个)。代码示例WCTextMapper.java(文本输入格式)package ...原创 2018-06-15 10:19:28 · 3566 阅读 · 0 评论 -
Hadoop————串行化
1、什么是串行化 串行化简而言之就是将对象转成字节流(二进制格式)存放在磁盘上或用于传输,便于减小存储空间、网络传输,提高效率。在分布式编程中显得尤为重要,如果不进行串行化,则传输效率将得到限制。 2、google的protobuf1.下载google protobuf.protoc-2.5.0-win32.zip添加pom.xml依赖<dependencies&gt...原创 2018-06-22 20:50:31 · 676 阅读 · 0 评论 -
Hadoop————Zookeeper强化
1、Zookeeper的作用1.管理大量主机的协同服务。 2.分布式应用,实现分布式读写技术。 3.zk提供的服务:Naming service //按名称区分集群中的节点.Configuration management //对加入节点的最新化处理。Cluster management //实时感知集群中节点的增减.Leader...原创 2018-06-22 21:43:13 · 816 阅读 · 0 评论 -
大数据项目(二)————某电信公司通话记录改造
1、项目介绍将通话记录数据由原来的oracle系统改造成使用大数据架构解决方案。主要使用hbase做通话数据的存储方案。需要将原有oracle数据导入到hbase中,以及新生成数据通过flume收集到kafka,再通过消费者存储到hbase数据库。hadoop+hbase+flume+zookeeper实现电信级海量通话日志数据的存储,随机 访问与实时读写。通过hash技术对rowkey...原创 2018-09-06 22:40:02 · 3483 阅读 · 0 评论 -
大数据项目(一)————生成团购标签
1、项目简介所谓的团购标签生成就是通过从消费者对商品的评价中统计提取关键词,并统计其消费者对该商品该指标的累积数量,并进行排序显示,类似于淘宝、美团等电商平台都有的大家印象之类的。 2、业务介绍1、从复杂的json数据格式中提取出评论标签项 2、统计每个评论标签项的数量 3、对统计出的评论标签按降序排序 4、回显标签3、功能实现3.1 提取评论标签项Revie...原创 2018-09-06 22:39:48 · 2279 阅读 · 1 评论 -
Hadoop————Storm强化
1、storm的特点storm是一个免费、开源、分布式、实时计算系统。吞吐量高,每秒每节点能达到百万元组。 storm是跨语言、可伸缩的,具有低延迟(秒级/分钟级)、容错的特点。storm与hadoop的对比storm hadoop---------------------------------------------实时流处理 ...原创 2018-06-28 21:07:43 · 905 阅读 · 0 评论 -
Spark(六)————python API的调用以及几种模式的配置
1、python操作hbase1.1 配置 0.启动hbase集群 如果时钟不同步,采用下面的方式进行同步处理。$>su root$>xcall.sh "ntpdate asia.pool.ntp.org"1.启动hbase的thriftserver,满足和第三方应用通信。$>hbase-daemon.sh start thrift22.查看we...原创 2018-07-10 11:24:14 · 1789 阅读 · 0 评论 -
Spark(二)————RDD变换和RDD Action
1、什么是RDDRDD是Spark的基本数据结构,是不可变数据集。RDD中的数据集进行逻辑分区,每个分区可以单独在集群节点进行计算。可以包含任何java,scala,python和自定义类型。RDD是只读的记录分区集合。RDD具有容错机制。 Spark主要是内存处理计算,在job间进行数据共享,内存的IO速率高于网络和磁盘的10~100之间,而hadoop花费90%的时间用于读写数据,因...原创 2018-07-01 20:23:07 · 678 阅读 · 0 评论 -
Spark(一)————Spark介绍以及集群搭建
1、Spark的特点快如闪电的集群计算。大规模快速通用的计算引擎。 速度比hadoop 100x,磁盘计算快10x。 能使用java / Scala /R /python进行开发,提供80+算子(操作符),容易构建并行应用。 通用架构:组合SQL ,流计算 + 复杂分析。 运行模式:Hadoop, Mesos, standalone, or in the cloud,local.S...原创 2018-07-01 19:34:02 · 507 阅读 · 0 评论 -
Hadoop————Kafka强化
1、kafka的特点分布式流处理平台。在系统之间构建实时数据流管道。以topic分类对记录进行存储,每个记录包含key-value+timestamp每秒钟百万消息吞吐量。producer //消息生产者consumer //消息消费者consumer group //消费者组kafka server //broke...原创 2018-06-25 20:39:00 · 1360 阅读 · 0 评论