Big data
文章平均质量分 77
fjssharpsword
这个作者很懒,什么都没留下…
展开
-
离线轻量级大数据平台Spark之MLib机器学习库朴素贝叶斯实例
1、朴素贝叶斯介绍表示事件B已经发生的前提下,事件A发生的概率,叫做事件B发生下事件A的条件概率,公式为: 贝叶斯定理: 从已知P(A|B)获得P(B|A)值。假设A和B代表两类互相影响的事件,如B代表正常邮件和骚扰邮件事件、A代表邮件文本中出现特定词汇的事件。定义:Ai,其中i∈[1,m],m是A事件总数;Bj,其中j∈[1,n],n是B事件的总数。根据条件概原创 2016-11-03 15:13:33 · 3631 阅读 · 0 评论 -
MapReduce基础开发之九JDBC连接Hive
1、eclipse建工程,引入$HIVE_HOME/lib的包和$Hadoop_HOME/lib的包(一般核心包就可以,具体根据开发需求),导出jar包(不带第三方jar); 这里是Hive2,代码如下:package com.hive;import java.sql.SQLException;import java.sql.Connection;import java.sq原创 2016-07-19 09:05:48 · 2971 阅读 · 0 评论 -
MapReduce基础开发之八HDFS文件CRUD操作
HDFS文件操作的基础代码。package com.hive;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import原创 2016-07-15 14:45:46 · 2214 阅读 · 0 评论 -
在线实时大数据平台Storm版本兼容的问题
部署了storm1.0.1最新版,但原来生产的程序是storm0.8.2版本并在该版本环境中运行,直接将程序放到1.0.1环境中storm jar运行失败。重构程序,引入storm-core-1.0.1.jar,替换storm-0.8.2.jar,代码中主要import中包头org.apache替换backtype,可能是1.0版本后被apache网罗了,所以包头改为ora.apach原创 2016-07-13 17:23:50 · 3966 阅读 · 0 评论 -
在线实时大数据平台Storm集群组件学习
Hadoop常用于离线的复杂的大数据处理,Spark常用于离线的快速(轻量级)的大数据处理, Storm常用于在线的实时的大数据处理;这句话一定程度上反应了三套大数据平台的鲜明特征。Storm是一套实时、在线、分布式的大数据处理平台。1)Nimbus和SupervisorStorm集群中包含两类节点:主控节点(Master Node)和工作节点(Work Node),角色定位如下:主控原创 2016-07-11 15:58:47 · 2725 阅读 · 0 评论 -
MapReduce基础开发之七Hive外部表分区
MapReduce输出的数据在实际应用中会加载在不同子目录下,比如按照日期、地区等,然后统一到外部表,这就需要用到hive表的分区。假设输出的数据放在/tmp/fjs/dpi父目录下,下面分别有三个类型的数据作为子目录保存,分别是/tmp/fjs/dpi/adsl、/tmp/fjs/dpi/3g、/tmp/fjs/dpi/4g,具体分区如下:Hive表:tmp_fjs_dpi1)原创 2016-07-06 11:54:55 · 2292 阅读 · 0 评论 -
MapReduce基础开发之六Map多输入
在实际MapReduce开发中,会遇到需要数据多输入路径并有对应的Map函数来处理,这需要MultipleInputs.addInputPath(job, path, inputFormatClass, mapperClass)函数。本文模拟从不同地市中获取数据,并根据按照地市区号输出记录,具体见代码。import java.io.IOException;import o原创 2016-07-05 10:37:19 · 3027 阅读 · 0 评论 -
MapReduce基础开发之五分布式下载ftp文件到本地再迁移到hdfs
为利用Hadoop集群平台的分布存储和计算能力,基于MapReduce将ftp文件分布式下载并上传到HDFS中。1、文件移动流程:ftp服务器->Namenode本地目录->HDFS目录;2、实现主要基于两个设计思想: 1)将FTP服务器文件列表作为MapReduce处理的数据对象,按照文件名分布到不同Reduce节点下载和上传到HDFS中; 2)在每个da原创 2016-07-01 11:48:13 · 3401 阅读 · 0 评论 -
MapReduce基础开发之四参数传递
Map和Reduce函数是在各节点进行,如果要在MapReduce数据加工中使用共同参数,要如何传参呢?方法有二:1、Configuration类的set和get的方法读取xml/txt文件设置或自己配置,再通过Map和Reduce函数的Context来获取;2、基于org.apache.hadoop.io.DefaultStringifier类的Store函数和Load函数,通过原创 2016-06-29 15:40:13 · 5735 阅读 · 0 评论 -
MapReduce基础开发之三字段处理并输出Hive表
1、MR设计和开发 1)设计: 输入:用户名 | 数字ip | 时间戳 | url MR处理:读取正则表达式匹配url,满足则解析url并转换ip和时间戳, 输出:用户名|点分制IP|日期时间|URL域名|URL参数; 2)开发,见源码; 测试文件:/tmp/fjs/in/testdata.txt 输出文件:/tmp/f原创 2016-06-28 11:36:40 · 5348 阅读 · 0 评论 -
MapReduce基础开发之二数据去重和排序
因Hadoop集群平台网络限制,只能在eclipse里先写好代码再提交jar到集群平台namenode上执行,不能实时调试,所以没有配置eclipse的hadoop开发环境,只是引入了hadoop的lib包。eclipse的hadoop开发环境配置可参考:http://www.cnblogs.com/xia520pi/archive/2012/05/20/2510723.htmlMapRe原创 2016-06-23 11:14:31 · 6090 阅读 · 0 评论 -
MapReduce基础开发之一词汇统计和排序(wordcount)
统计/var/log/boot.log中含k的字符的数量,并对含k的字符按照数量排序。需分两个job完成,一个用来统计,一个用来排序。一、统计1、上传文件到hadoop: 1)新建文件夹:hadoop fs -mkdir /tmp/fjs 2)上传文件:hadoop fs -put /var/log/boot.log /tmp/fjs2、编写wo原创 2016-06-22 17:13:20 · 6596 阅读 · 3 评论 -
Hadoop系列六:Hadoop之HBase篇
HBase安装和运行1)HBase理解HBase是一个开源的、分布式的、多版本的、面向列的存储模型。可以直接使用本地文件系统也可使用Hadoop的HDFS文件存储系统。HBase存储的数据介于映射(key/value)和关系型数据之间。Hadoop整体生态系统示意图:HBase位于结构化存储层,围绕HBase,各部件对HBase的支持情况:Hadoop部件原创 2016-03-14 15:25:27 · 4188 阅读 · 0 评论 -
Hadoop系列五:Hadoop之Zookeeper篇
ZooKeeper安装和运行Zookeeper是一个高性能、分布式的、开源分布式应用协调服务,具有命名服务、配置管理、同步和组服务等基本功能。Zookeeper服务自身组成一个集群(2n+1个服务允许n个失效)。Zookeeper服务有两个角色,一个是leader,负责写服务和数据同步,剩下的是follower,提供读服务,leader失效后会在follower中重新选举新的leader。原创 2016-03-14 10:16:25 · 2567 阅读 · 0 评论 -
Hadoop系列四:Hadoop之Hive篇
Hive安装和运行Pig与RDBMS、Hive比较Pig Latin是一种数据流编程语言,而SQL是一种描述性编程语言。换句话说,Pig程序是相对于输入的一步步操作,其中每一步是对数据的一个简答的变换。相反,SQL语句是一个约束的集合,这些约束的集合在一起,定义了输出。Hive介于Pig和传统RDBMS(关系数据库管理系统Relational DatabaseManagement Sy原创 2016-03-11 16:42:38 · 17759 阅读 · 0 评论 -
Hadoop系列三:Hadoop之Pig篇
Pig安装和运行Pig包括两部分:—用于描述数据流的语言,称为Pig Latin。—用于执行PigLatin程序的执行环境,当前有两个环境:单JVM中的本地执行环境和Hadoop集群上的分布式执行环境。 Pig内部,每个操作或变换是对输入进行数据处理,然后产生输出结果,这些变换操作被转换成一系列MapReduce作业,Pig让程序员不需要知道这些转换具体是如何进行的,这样工程师可以原创 2016-03-11 09:50:08 · 2761 阅读 · 0 评论 -
Hadoop系列二:Hadoop单节点伪分布部署并执行mapreduce示例wordcount
HDFS在集群上实现分布式文件系统,MapReduce在集群上实现了分布式计算和任务处理。HDFS在MapReduce任务处理过程中提供了文件操作和存储等支持,MapReduce在HDFS的基础上实现了任务的分发、跟踪、执行等工作,并收集结果,二者相互作用,完成了Hadoop分布式集群的主要任务。1)部署单节点伪分布单节点Ubuntu,主机名hp第一步:先安装JDK和SSH,并配置SS原创 2016-03-10 17:06:38 · 2859 阅读 · 0 评论 -
MapReduce基础开发之十读写ORC File
1、ORC File2、编译ORC Jar包 http://orc.apache.org/ 下载源代码orc-1.2.1.tar.gz编译jar包 用ubuntu14编译,安装jdk1.8、cmake3.2.2、Maven3.0.5。 解压orc-1.2.1.tar.gz,进入目录orc-1.2.1/java下,执行mvn package编译生成jar文件。原创 2016-10-18 16:43:17 · 7904 阅读 · 0 评论 -
在线实时大数据平台Storm集成redis开发(分布锁)
1、需求场景:spout从ftp列表中拿到未读取的文件读取并发射行到Bolt,bolt进行业务处理后提交下一Bolt入库。用redis主要是:保存文件列表对象,使用分布锁来同步互斥访问共享对象,使文件处理不重复。2、topo主函数代码:package ct.topo;import org.apache.storm.Config;import org.apache.storm原创 2016-08-25 13:06:31 · 3955 阅读 · 0 评论 -
在线实时大数据平台Storm并行度试验
集群模式试验:同一文件输入数据如何处理,数据变量共享1)集群模式一个worker内一个spout一个Boltjps:1个workerstorm list:1个wokers,4个tasks2)集群模式一个worker内一个spout 两个Boltjps:1个workerstorm list:1个wokers,6个tasks不同bolt线程之间对变量counter是互斥读写原创 2016-08-10 11:17:58 · 4196 阅读 · 3 评论 -
在线实时大数据平台Storm输入源共享试验
1、背景:topology程序提交集群模式运行试验,验证在同一文件输入源情况下,worker之间是否会重复输入处理,以及数据变量能否在不同worker之间共享,如果文件新增数据,topology会不会获取最新数据处理。2、试验代码:package cn.wc;import org.apache.storm.Config;import org.apache.storm.StormSub原创 2016-08-09 17:03:18 · 4279 阅读 · 2 评论 -
在线实时大数据平台Storm并行和通信机制理解
1、storm系统角色和应用组件基本理解: 和Hadoop一起理解,清晰点。 1)物理节点Nimubus,负责资源分配和任务调度; 2)物理节点Supervisor负责接受nimbus分配的任务,启动和停止属于自己管理的worker进程; 3)系统角色Worker运行具体处理组件逻辑的进程; 4)系统爵色Ta原创 2016-08-08 10:53:55 · 4276 阅读 · 0 评论 -
在线实时大数据平台Storm本地模式运行的一个小发现
1、现象:生产中分别部署了两台服务器,独立运行storm,然后拓扑程序提交是本地模式,发现不用启动storm和zookeeper也可以运行;2、验证:在拓扑程序中增加参数传递,1代表本地模式,2代表集群模式 1)关闭集群后,传参1运行本地模式成功,传参2运行集群模式失败; 2)启动集群后,传参2集群模式提交运行,成功; 本地模式:不用启动storm和原创 2016-07-28 17:26:09 · 3019 阅读 · 0 评论 -
MapReduce基础开发context.write注意new text("")多出一列的问题
1、问题描述:在MapReduce中代码中,Map输出context.write(okey,new text("")),Reduce也是context.write(okey,new text(""))输出; 查询字符长度,发现多了一位,如果用|字符隔开,发现最后一个字段会多出一位。2、查核发现,new Text("")会增加一个空列(列分隔符是\t),导致多出一个隐形字原创 2016-07-19 10:31:23 · 7502 阅读 · 0 评论 -
在线实时大数据平台Storm开发之wordcount
可以在Eclipse下通过Maven引入storm-starter项目,这里直接将storm目录下lib中的jar包引入到工程中。由于storm-core-1.0.1.jar中带有default.yaml,如果打包时带上会有提示重复配置文件的错误,所以打包时用export->JAR file而不是export->Runnable JAR file,不带第三方jar包。开发一个wordcou原创 2016-07-12 12:09:15 · 2406 阅读 · 0 评论 -
在线实时大数据平台Storm单机部署
centos单机下部署storm,主要用于开发测试用。部署的IP地址用zoo1代替,要注意/etc/hosts下对应ip和主机名。1、Zookeeper部署Apache官网http://zookeeper.apache.org/下载zookeeper-3.4.8.tar.gz版本。1)解压在/var/zookeeper-3.4.8目录下#tar -xzvf/tmp/zookee原创 2016-07-11 15:51:29 · 2773 阅读 · 0 评论 -
Hadoop平台日志结构
1.Hadoop集群部署Hadoop集群:Master:10.18.18.1Slave1:10.18.18.100Slave2:10.18.18.101可互相通信、可连外网,操作系统均为:#cat/etc/issueUbuntu14.04.4 LTS \n \l# uname -aLinux XXX3.13.0-66-generic #108-Ubuntu SM原创 2016-05-27 11:26:32 · 2826 阅读 · 0 评论 -
mysql表数据以本地文件方式导入Hive
1、mysql生成数据1)创建数据库和数据表,脚本如下:SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;SET @OLD_SQL_MODE=@@SQL_MODE,原创 2016-05-25 15:39:05 · 4240 阅读 · 0 评论 -
Hive用户权限管理理解
package com.hive;importorg.apache.hadoop.hive.ql.parse.ASTNode;importorg.apache.hadoop.hive.ql.parse.AbstractSemanticAnalyzerHook;importorg.apache.hadoop.hive.ql.parse.HiveParser;importorg.apache.原创 2016-05-04 09:14:06 · 24305 阅读 · 1 评论 -
HDFS多用户管理ACL机制other权限访问控制的理解
非Master服务器用户也能通过客户端远程访问Hadoop现象:在Hadoop集群多用户管理实践中发现,客户端用非Master服务器配置的用户连接Master,也通用具备对指定目录的操作权限。比如Master服务器提供的用户的是A,理论上客户端应用在A用户下部署安装hadoop后远程连接,但现在客户端用B用户安装Hadoop客户端并连接Master服务器,且可在指定目录下rwx,只是在涉及da原创 2016-04-29 11:11:41 · 5635 阅读 · 0 评论 -
关于Hadoop多用户管理支持客户端远程操作的理论总结
1、问题Hadoop客户端如何配置可远程操作Hadoop;Hadoop多用户情况下,是如何管理权限并分配存储空间和计算能力,保证集群的稳定。2、Hadoop平台要理解客户端如何通过指定用户远程操作hadoop集群,这里先理解下hadoop平台的部署架构。Hadoop是大数据分布式处理的软件框架,集成MapReduce分布式编程模型和HDFS分布式文件存储系统。MapReduce将执作业原创 2016-04-27 16:52:55 · 6052 阅读 · 0 评论 -
(转载)数据库范式及宽表窄表理解
1、数据库设计的三大范式,转载地址:http://www.cnblogs.com/linjiqin/archive/2012/04/01/2428695.html为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。转载 2016-04-25 09:50:40 · 17537 阅读 · 0 评论 -
(转载)hive文件存储格式
对于hive格式的认识,先转载后实践再加深认识。转载地址:http://blog.csdn.net/yfkiss/article/details/7787742hive在建表是,可以通过‘STORED AS FILE_FORMAT’ 指定存储文件格式例如:[plain] view plain copy> CREATE EXTE转载 2016-04-25 09:42:56 · 2076 阅读 · 0 评论 -
(转载)浅析Hadoop文件格式
对于Hadoop学习要持续,这里转载下关于hadoop文件格式,后续实践中在加以理解。转载地址:http://www.infoq.com/cn/articles/hadoop-file-formatHadoop 作为MR 的开源实现,一直以动态运行解析文件格式并获得比MPP数据库快上几倍的装载速度为优势。不过,MPP数据库社区也一直批评Hadoop由于文件格式并非为特定转载 2016-04-25 09:37:24 · 2184 阅读 · 0 评论 -
日志分析平台ELK部署初学
1)ELK介绍ELK官方网站:https://www.elastic.co/productselk-docker 官网:http://elk-docker.readthedocs.org/#installation日志分析平台ELK由 ElasticSearch 、 Logstash 和 Kiabana 三个开源工具组成。Elasticsearch 是个开源分布式搜索引擎,它的特点有:原创 2016-04-11 16:15:47 · 3145 阅读 · 0 评论 -
Nutch爬虫引擎使用分析
Nutch2.X主要执行流程:1)InjectorJob: 从文件中得到一批种子网页,把它们放到抓取数据库中去2)GeneratorJob:从抓取数据库中产生要抓取的页面放到抓取队列中去3)FetcherJob: 对抓取队列中的网页进行抓取,在reducer中使用了生产/消费者模型4)ParserJob: 对抓取完成的网页进行解析,产生一些新的链接与网页内容的解析结果原创 2016-04-08 17:19:53 · 3971 阅读 · 0 评论 -
(转载)Nutch2 WebPage 字段解释
版本: Nutch2.2.1id主键,根据网页url生成(格式:reversed domain name:protocol:port and path),因此,Nutch2只能保存当前网页的状态,而不能保存历史信息。headers标准的http headers ,其中包含非打印字符。Last-Modified 等信息可能于判断网页是否需转载 2016-04-06 10:54:05 · 2508 阅读 · 0 评论 -
(转载)Nutch 2.0 之 抓取流程简单分析
Nutch 2.0 抓取流程介绍---------------------1. 整体流程InjectorJob => GeneratorJob => FetcherJob => ParserJob => DbUpdaterJob => SolrIndexerJobInjectorJob : 从文件中得到一批种子网页,把它们放到抓取数据库中去Generat转载 2016-04-06 15:20:22 · 2239 阅读 · 0 评论 -
Hadoop系列七:Hadoop之sqoop篇
Sqoop安装和运行sqoop是一个把关系型数据库数据抽向hadoop的工具。同时,也支持将hive、pig等查询的结果导入关系型数据库中存储。1)安装和配置Ubuntu操作系统,主机名hp。官网http://sqoop.apache.org/ 下载sqoop-1.4.6.bin __hadoop-2.0.4-alpha.tar.gz并解压。复制mysql的jdbc驱动mysq原创 2016-03-14 17:15:37 · 2451 阅读 · 0 评论 -
Hadoop系列一:Hadoop集群分布式部署
1、环境准备VirtualBox虚拟机上分布部署三套Ubuntu15.10操作系统(Linux 64位),命名为Ubuntu_Hadoop(用户名hp)、Ubuntu_C(用户名c)、Ubuntu_PHP(用户名php),并建立通信。Ubuntu虚拟机之间通信建立:1)三套Ubuntu虚拟机在Virtual Box的网络设置为内部(Internal)模式;2)Ubuntu_Hado原创 2016-03-09 15:48:40 · 2913 阅读 · 0 评论