2016年1月30日

摘要: 1、简介 最近在摸索利用sparkstreaming从kafka中准实时的读取数据,并将在读取的过程中,可以做一个简单的分析,最后将分析结果写入hbase中。 2、出现的问题 (1)将从kafka中读取数据的程序打包到服务器上运行,发现需要用kafka相关的包,因此采用assembly的方法打包即可 阅读全文
posted @ 2016-01-30 11:56 ljy2013 阅读(4799) 评论(0) 推荐(0) 编辑
 

2016年1月26日

摘要: 1、简介 大数据分析处理平台包括数据的接入,数据的存储,数据的处理,以及后面的展示或者应用。今天我们连说一下数据的接入,数据的接入目前比较普遍的是采用kafka将前面的数据通过消息的方式,以数据流的形式将数据接入到大数据存储平台。 下面主要介绍一下kafka的安装和部署的过程。由于公司采用的是c... 阅读全文
posted @ 2016-01-26 13:16 ljy2013 阅读(2465) 评论(2) 推荐(0) 编辑
 

2016年1月25日

摘要: 最近,公司由于断电导致的服务器关机,等到来电了,重启集群发现Namenode无法启动,查看原因是由于无法加在faimage文件,在查看一下Namenode的磁盘挂在情况(df -h命令查看),发现磁盘并有挂在上,于是执行mount -a命令 出现mount: /dev/sdb1 already mo... 阅读全文
posted @ 2016-01-25 10:25 ljy2013 阅读(27453) 评论(0) 推荐(0) 编辑
 

2016年1月21日

摘要: 1、概述:最近,有一些工程师问我有关HBase的基本架构的问题,其实这个问题仅仅说架构是非常简单,但是需要理解。在这里,我觉得可以用HDFS的架构作为借鉴。(其实像Hadoop生态系统中的大部分组建的架构原理是类似,不信你往下看)2、介绍架构(1)HDFS例子 在这里我以我比较熟悉的HDFS分布... 阅读全文
posted @ 2016-01-21 23:19 ljy2013 阅读(3125) 评论(0) 推荐(1) 编辑
 

2016年1月16日

摘要: 最近在研究机器学习,使用的工具是spark,本文是针对spar最新的源码Spark1.6.0的MLlib中的logistic regression, linear regression进行源码分析,其理论部分参考:http://www.cnblogs.com/ljy2013/p/5129610.ht... 阅读全文
posted @ 2016-01-16 11:23 ljy2013 阅读(1421) 评论(0) 推荐(0) 编辑
 

2016年1月14日

摘要: 本文转自:http://blog.csdn.net/itplus/article/details/10857843本文详细的介绍了线性回归和逻辑回归是怎么一回事,很好的介绍了线性回归的原理和逻辑回归的原理。针对逻辑回归,最后参数的求解过程中,还可以用到牛顿法和拟牛顿法,具体可以参考:http://w... 阅读全文
posted @ 2016-01-14 11:26 ljy2013 阅读(565) 评论(0) 推荐(0) 编辑
 
摘要: 简介:最近在看逻辑回归算法,在算法构建模型的过程中需要对参数进行求解,采用的方法有梯度下降法和无约束项优化算法。之前对无约束项优化算法并不是很了解,于是在学习逻辑回归之前,先对无约束项优化算法中经典的算法学习了一下。下面将无约束项优化算法的细节进行描述。为了尊重别人的劳动成果,本文的出处是:http... 阅读全文
posted @ 2016-01-14 10:04 ljy2013 阅读(28680) 评论(3) 推荐(5) 编辑
 

2016年1月6日

摘要: 1、Pearson皮尔森相关系数皮尔森相关系数也叫皮尔森积差相关系数,用来反映两个变量之间相似程度的统计量。或者说用来表示两个向量的相似度。皮尔森相关系数计算公式如下: 分子是协方差,分母两个向量的标准差的乘积。显然是要求两个向量的标准差不为零。当两个向量的线性关系增强时,相关系数趋于1(正相关)... 阅读全文
posted @ 2016-01-06 14:53 ljy2013 阅读(3254) 评论(0) 推荐(0) 编辑
 
摘要: Spark MLlib提供了一些基本的统计学的算法,下面主要说明一下:1、Summary statistics对于RDD[Vector]类型,Spark MLlib提供了colStats的统计方法,该方法返回一个MultivariateStatisticalSummary的实例。他封装了列的最大值,... 阅读全文
posted @ 2016-01-06 14:43 ljy2013 阅读(1350) 评论(0) 推荐(0) 编辑
 

2016年1月5日

摘要: 1、前言: Naive Bayes(朴素贝叶斯)是一个简单的多类分类算法,该算法的前提是假设各特征之间是相互独立的。Naive Bayes 训练主要是为每一个特征,在给定的标签的条件下,计算每个特征在该标签的条件下的条件概率。最后用这个训练后的条件概率去预测。 由于我使用的Spark的版本是1.... 阅读全文
posted @ 2016-01-05 14:52 ljy2013 阅读(1287) 评论(0) 推荐(0) 编辑
 
摘要: MLlib 支持存放在单机上的本地向量和矩阵,也支持通过多个RDD实现的分布式矩阵。因此MLlib的数据类型主要分为两大类:一个是本地单机向量;另一个是分布式矩阵。下面分别介绍一下这两大类都有哪些类型: 1、Local vector(本地向量) (1)Vector 最基本的类型是Vector,该类型 阅读全文
posted @ 2016-01-05 09:56 ljy2013 阅读(856) 评论(0) 推荐(0) 编辑
 

2015年12月30日

摘要: 摘要:我们在写代码时候,往往是想查看一下源码,看看源码的一些细节内容。一般情况下,在IDE(如eclipse)中近仅仅只需按住ctrl+ 点击对应的方法即可进入对应的源码部分。但是有些时候很多依赖项并不会默认下载对应的源码,因此,需要执行以下命令让他自动下载。那么一般需要完成以下三步即可:1:Mav... 阅读全文
posted @ 2015-12-30 14:51 ljy2013 阅读(2376) 评论(0) 推荐(1) 编辑
 

2015年12月28日

摘要: 我们知道,任何一个工程项目,最重要的是三个部分:输入,中间处理,输出。今天我们来深入的了解一下我们熟知的Hadoop系统中,输入是如何输入的? 在hadoop中,输入数据都是通过对应的InputFormat类和RecordReader类来实现的,其中InputFormat来实现将对应输入文件进... 阅读全文
posted @ 2015-12-28 17:51 ljy2013 阅读(972) 评论(0) 推荐(0) 编辑
 

2015年12月21日

摘要: 前面介绍了Spark开发环境的搭建,下面将在实际开发过程中遇到的一些问题汇总一下:1、Exception in thread "main" com.typesafe.config.ConfigException$Missing: No configuration setting found for ... 阅读全文
posted @ 2015-12-21 16:52 ljy2013 阅读(1685) 评论(0) 推荐(0) 编辑
 
摘要: Spark能够从任何支持Hadoop的存储源来创建RDD,包括本地的文件系统,HDFS,Cassandra,Hbase,Amazon S3等。Spark支持textFile、SequenceFiles和任何其他的Hadoop的InputFormat格式的数据。1、textfile的RDD可以通过... 阅读全文
posted @ 2015-12-21 15:34 ljy2013 阅读(544) 评论(0) 推荐(0) 编辑
 

2015年12月11日

摘要: 由于我Spark采用的是Cloudera公司的CDH,并且安装的时候是在线自动安装和部署的集群。最近在学习SparkSQL,看到SparkSQL on HIVE。下面主要是介绍一下如何通过SparkSQL在读取HIVE的数据。(说明:如果不是采用CDH在线自动安装和部署的话,可能需要对源码进行编译,... 阅读全文
posted @ 2015-12-11 17:10 ljy2013 阅读(39687) 评论(1) 推荐(0) 编辑
 

2015年11月28日

摘要: 上传代码到github上有很多种方法,在这里我介绍一种比较简单的一种。工具嘛,越简单越好用啊。1、首先下载github在windows下的客户端下载地址:https://desktop.github.com/这个客户端需要在线下载一些包。安装好了之后会出现下面这两个图标: 2、上传代码一般情况需要将... 阅读全文
posted @ 2015-11-28 12:50 ljy2013 阅读(630) 评论(0) 推荐(0) 编辑
 

2015年11月16日

摘要: 之前为了搭建scala开发spark的环境花了几天的时间,终于搞定了,具体可以参考:http://www.cnblogs.com/ljy2013/p/4964201.html 。下面就是用一个示例来测试自己的开发环境了,于是就只用了大数据比较经典的例子:WordCount。下面详细说明一下:1、首先... 阅读全文
posted @ 2015-11-16 15:18 ljy2013 阅读(6929) 评论(0) 推荐(1) 编辑
 

2015年11月14日

摘要: 说明,由于spark是用scala写的。因此,不管是在看源码还是在写spark有关的代码的时候,都最好是用scala。那么作为一个程序员首先是必须要把手中的宝剑给磨砺了。那就是创建好编写scala的代码环境。在这里由于我个人之前比较熟悉eclipse(虽然觉得他有点掉档次,踏实工具嘛,当然最好是选择... 阅读全文
posted @ 2015-11-14 13:08 ljy2013 阅读(1167) 评论(0) 推荐(0) 编辑
 

2015年11月11日

摘要: 1、究竟什么是RDD呢?有人可能会回答是:Resilient Distributed Dataset。没错,的确是如此。但是我们问这个实际上是想知道RDD到底是个什么东西?以及它到底能干嘛?好的,有了问题,那么我们带着问题往下看,总会有答案的。2、hadoop的计算模型&spark的计算模型(1)首... 阅读全文
posted @ 2015-11-11 14:51 ljy2013 阅读(741) 评论(0) 推荐(0) 编辑
 

2015年11月10日

摘要: 大数据是用scala语言,和java有些不同又比java强大,省去了很多繁琐的东西,scala中的的接口用trait来定义,不同于java的接口,trait中可以有抽象方法也可以有不抽象方法。scala中的方法中还可以定义方法,这在java中是从来没有的。大数据未来几年发展的重点方向,大数据战略已经... 阅读全文
posted @ 2015-11-10 10:11 ljy2013 阅读(317) 评论(0) 推荐(0) 编辑
 

2015年11月4日

摘要: 1、 内表和外表的区别内表和外表之间是通过关键字EXTERNAL来区分。删除表时:内表:在删除时,既删除内表的元数据,也删除内表的数据外表:删除时,仅仅删除外表的元数据。CREATE [EXTERNAL] TABLE page_view(viewTime INT, userid BIGINT,pag... 阅读全文
posted @ 2015-11-04 17:16 ljy2013 阅读(1741) 评论(0) 推荐(0) 编辑
 

2015年11月2日

摘要: 由于之前是从C++代码阵营中转到java阵营的(这里可能还会转到scala阵营中)。在写工程代码的时候,如果是只是简单的创建java project的话,当然也是可以的。但是,随着项目慢慢扩大,组件越来越多,需要维护的依赖包就非常之多。然而,在这里有一点非常重要——查看源码(特别是针对开源项目)... 阅读全文
posted @ 2015-11-02 17:51 ljy2013 阅读(522) 评论(0) 推荐(0) 编辑
 
摘要: 之前通过命令行的界面可以操作Hive,可是在实际的生产环境中,往往都是需要写API的,因此对Hive的API简单的列举了一下。并对Hive进行了一个简单的封装。具体的封装可以参考github网站主页:https://github.com/ljy2015/HiveUtil 在这个过程中,其本质... 阅读全文
posted @ 2015-11-02 17:24 ljy2013 阅读(2090) 评论(0) 推荐(0) 编辑
 

2015年10月21日

摘要: 1、项目介绍: 由于大数据部门涉及到其他部门将数据传到数据中心,大部分公司采用的方式是用json文件的方式传输,因此就需要编写服务端和客户端的小程序了。而我主要实现服务端的代码,也有相应的客户端的测试代码。这里须有一个需要提到的是,我在实现接收json文件的同时,而且还需将数据写到hbase中。写... 阅读全文
posted @ 2015-10-21 14:31 ljy2013 阅读(1623) 评论(0) 推荐(0) 编辑
 

2015年10月19日

摘要: 1、Query(1)分区查询在查询的过程中,采用那个分区来查询是通过系统自动的决定,但是必须是在分区列上基于where子查询。SELECT page_views.*FROM page_viewsWHERE page_views.date >='2008-03-01'AND page_views.da... 阅读全文
posted @ 2015-10-19 15:28 ljy2013 阅读(2043) 评论(0) 推荐(0) 编辑
 
摘要: 1、创建表First, create a table with tab-delimited text file format:(1)CREATE TABLE u_data ( userid INT, movieid INT, rating INT, unixtime STRING)ROW F... 阅读全文
posted @ 2015-10-19 11:41 ljy2013 阅读(295) 评论(0) 推荐(0) 编辑
 

2015年10月14日

摘要: 阅读全文
posted @ 2015-10-14 15:22 ljy2013 阅读(486) 评论(0) 推荐(0) 编辑
 
摘要: 1、sqoop的merge的工具sqoop merge 可以将hdfs上的两个文件进行合并,在increment import的过程中经常会用到,如incremenet import将数据导入到hdfs上时,第二次导入时,由于会出现文件已经存在的问题,第二次导入的hdfs的文件与之前的文件是不一样的... 阅读全文
posted @ 2015-10-14 14:47 ljy2013 阅读(1227) 评论(0) 推荐(0) 编辑
 

2015年10月13日

摘要: 1、通用参数说明2、export的控制参数说明3、export的Inserts vs. Updates说明:在通过sqoop导出数据到关系型的数据库时,存在两种情况:insert&update,通过指定--update-key来匹配的字段,而它仅仅是匹配数据库中的记录,更新匹配成功的记录,对于不存在... 阅读全文
posted @ 2015-10-13 11:47 ljy2013 阅读(1309) 评论(0) 推荐(0) 编辑
 
摘要: 1、sqoop将关系数据库导入到hbase的参数说明2、sqoop导入hbase的命令 sqoop import --connect jdbc:oracle:thin:@192.168.27.235:1521/orcl --username DATACENTER -P --table TEMP1 ... 阅读全文
posted @ 2015-10-13 11:10 ljy2013 阅读(1805) 评论(0) 推荐(0) 编辑
 

2015年10月12日

摘要: 1、sqoop 将关系型数据库的数据导入hive的参数说明:2、 将关系型的数据库中的表数据导入到hive的表中 sqoop import --connect jdbc:oracle:thin:@//192.168.27.235:1521/ORCL --username DATACENTER --... 阅读全文
posted @ 2015-10-12 18:53 ljy2013 阅读(1111) 评论(0) 推荐(0) 编辑
 
摘要: 1、import增量导入的官方说明2、测试sqoop的increment import 增量导入在企业当中,一般都是需要经常执行的,如隔一个星期就执行一次增量导入,故增量导入的方式需要多次执行,而每次执行时,又去写相应的执行命令的话,比较麻烦。而sqoop提供了一个很好的工具save job的方式... 阅读全文
posted @ 2015-10-12 16:47 ljy2013 阅读(11382) 评论(0) 推荐(0) 编辑
 
摘要: 1、sqoop的import的参数指定2、sqoop的命令行执行可以通过--options-file來指定相应的命令行的文件的方式来执行命令 如需要执行:sqoop list-tables --connect jdbc:oracle:thin:@192.168.27.235:1521/ORCL --... 阅读全文
posted @ 2015-10-12 10:48 ljy2013 阅读(912) 评论(0) 推荐(0) 编辑
 

2015年10月10日

摘要: 错误说明: 由于我的hadoop的集群是用cloudera manager在线自动安装的,因此他们的安装路径必须遵循cloudera的规则,这里只有查看cloudera的官方文档了,请参考:http://www.cloudera.com/content/cloudera/en/documentat... 阅读全文
posted @ 2015-10-10 14:54 ljy2013 阅读(3178) 评论(0) 推荐(0) 编辑
 

2015年9月25日

摘要: 业务需求说明,由于公司数据中心处于刚开始部署的阶段,这需要涉及其它部分将数据全部汇总到数据中心,这实现的方式是同上传json文件,通过采用socket&serversocket实现传输。其中,服务端采用多线程的方式,实现多用户传输的目的。并且实现可以将数据写入到hbase中。具体步骤如下:1、首先编... 阅读全文
posted @ 2015-09-25 18:11 ljy2013 阅读(2907) 评论(0) 推荐(0) 编辑
 

2015年9月18日

摘要: hbase当中没有两表联查的操作,要实现两表联查或者在查询一个表的同时也需要访问另外一张表的时候,可以通过mapreduce的方式来实现,实现方式如下:由于查询是map过程,因此这个过程不需要设计reduce过程。(1)map的实现package com.datacenter.HbaseMapRed... 阅读全文
posted @ 2015-09-18 18:25 ljy2013 阅读(415) 评论(0) 推荐(0) 编辑
 
摘要: 上一篇文章是实现统计hbase单元值出现的个数,并将结果存放到hbase的表中,本文是将结果存放到hdfs上。其中的map实现与前文一直,连接:http://www.cnblogs.com/ljy2013/p/4820056.html,下面主要介绍一下reduce的实现:(1)reduce的实现pa... 阅读全文
posted @ 2015-09-18 18:22 ljy2013 阅读(216) 评论(0) 推荐(0) 编辑
 
摘要: 我们知道,hbase没有像关系型的数据库拥有强大的查询功能和统计功能,本文实现了如何利用mapreduce来统计hbase中单元值出现的个数,并将结果携带目标的表中,(1)mapper的实现package com.datacenter.HbaseMapReduce.Summary;import ja... 阅读全文
posted @ 2015-09-18 18:13 ljy2013 阅读(569) 评论(0) 推荐(0) 编辑
 
摘要: 上面一篇文章仅仅是介绍如何通过mapReduce来对HBase进行读的过程,下面将要介绍的是利用mapreduce进行读写的过程,前面我们已经知道map实际上是读过程,reduce是写的过程,然而map也可以实现写入的过程,因此可以通过map实现读写的过程。具体实现如下所示:(1)map的实现pac... 阅读全文
posted @ 2015-09-18 17:56 ljy2013 阅读(382) 评论(0) 推荐(0) 编辑