- 博客(26)
- 收藏
- 关注
原创 spark源码分析只: job 全过程
为了研究生命周期,往往需要action触发Job的运行,以RDD的count操作为例来说明def count(): Long = sc.runJob(this, Utils.getIteratorSize _).sumcount命令实际上触发了SparkContext的runJob方法执行,然后以sum统计job执行的结果 层层跟踪runJob方法 def ru
2015-04-30 21:33:49 578
原创 parquet列存储
why?1,同一列数据的类型和“材质”是一致的,所以压缩起来更节省空间2,在按列检索需求下,无需读取整行记录,I/O降低3,当每一列类型相同时,通过编码能够更好的适应现代处理器分支指令集预测优化message example as followmessage AddressBook { required string owner; rep
2015-04-30 21:30:32 845
原创 java cp 和 hadoop cp
java -cp "/opt/cloudera/parcels/CDH/lib/hbase/conf/:/opt/cloudera/parcels/CDH/lib/hbase/hbase-common.jar:/opt/cloudera/parcels/CDH/lib/hbase/hbase-client.jar:/opt/cloudera/parcels/CDH/lib/hbase/hbase-
2015-04-30 21:29:09 812
原创 部署微博自动爬取组件
#!/bin/bashTHIS_PATH='/home/bigdata/script/weibo-userid'cd $THIS_PATHif [ -z "$1" ];then echo "please input date,The data format is yyyymmdd." exit 1fi DAY=$1YEAR=${DAY:0:4}M
2015-04-30 21:24:55 495
原创 maven配置scala环境
1,配置scala开发环境maven配置: org.apache.maven.plugins maven-compiler-plugin 3.1 1.7 1.7 UTF-8 org.scala-tools maven-scala-plugin 2.15.2 compile
2015-04-30 21:16:39 1108
原创 CSV数据导入Parquet表
1,执行sql获取csv文件select * from ad.click where month = 201412 and referralpage like 'http://weibo.com%'2,将csv文件上传到服务器local:/home/maoxiao/ad_weibo/data/click/201412.csv3,创建csv表CREATE TA
2015-04-30 21:14:53 3704
原创 RT 降维技术
一,特征选择法 1,用筛选器检测冗余特征 a,相关性分析 A,使用scipy.stat pearson([1,2,3],[1,2,3,1]) 计算相关系数,返回相关系数值和p值,P越低则相关性系数越可信 B,弊端:只能检测出线性关系 b,互信息 A,能处理非线性问题
2015-04-30 21:13:56 472
原创 CK,KNN算法
测量不同特征值之间的距离方法优点:精度高,对异常值不敏感,无数据输入设定缺点:计算复杂度高,空间复杂度高适用范围:数值型和标称型
2015-04-30 21:11:54 709
原创 CB,朴素贝叶斯和贝叶斯信念网络
1,朴素贝叶斯需要特征之间相互独立的强条件,制约了模型的适用2,贝叶斯网络中的一个节点,如果它的父母节点已知,则它条件独立于它的所有非后代节点3,每个节点附带一个条件概率表(CPT),表示该节点和父母节点的联系概率
2015-04-30 21:11:18 805
原创 CD,决策树
算法的核心问题:1,按照什么样的次序来选择变量(属性)? ID3:信息增益 ID3弊端:信息增益的方法倾向于首先选择因字数较多的变量 C4.5: 信息增益率 以个数为4,6,4的元祖为例 1,计算分裂信息参数:
2015-04-30 21:10:50 385
原创 工程师的自我修养
1:团队精神和协作能力把它作为基本素质,并不是不重要,恰恰相反,这是程序员应该具备的最基本的,也是最重要的安身立命之本。把高水平程序员说成独行侠的都是在呓语,任何个人的力量都是有限的,即便如linus这样的天才,也需要通过组成强大的团队来创造奇迹,那些遍布全球的为linux写核心的高手们,没有协作精神是不可想象的。独行侠可以作一些赚钱的小软件发点小财,但是一旦进入一些大系统的研发团队,进入
2015-04-30 21:09:46 832
原创 my.cnf解决中文乱码
[mysqld]default-character-set=utf8character_set_server=utf8init_connect='SET NAMES utf8'datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sockuser=mysql# Disabling symbolic-links is reco
2015-04-30 21:08:43 1411
原创 CentOS快速安装mysql
1,查看CentOS自带mysql是否已安装。输入:yum list installed | grep mysql2,若有自带安装的mysql,如何卸载CentOS系统自带mysql数据库?输入:yum -y remove mysql-libs.x86_64,若有多个依赖文件则依次卸载。当结果显示为Complete!即卸载完毕。3,查看yum库上的mysql版本信息
2015-04-30 21:07:05 419
原创 2014个人总结
一,2014年技术工作回顾和技术经验? a,技术工作回顾 1) 基本日志解析:开发md、vd日志解析程序以及mapreduce离线批处理程序。 2) visualVM监控hadoop集群、storm评估、sqoop数据导入导出。 3) aud项目中:mapreduce、spark、spark-sql、avro、parquet、hbase、hiv
2015-04-30 21:05:15 438
原创 java Map 2 scala Map
import scala.collection.{JavaConverters, mutable} val props: mutable.Map[String, String] = JavaConverters.mapAsScalaMapConverter(DomainType2Code.props).asScala
2015-04-30 21:03:07 2261
原创 solr-phoenix
1 , phoenix配置文档+demo-crud程序2 , solr索引原理(一次性建立还是每次都建立,对值)将HBase表中涉及条件过滤的字段和rowkey在Solr中建立索引,通过Solr的多条件查询快速获得符合过滤条件的rowkey值,拿到这些rowkey之后在HBASE中通过指定rowkey进行查询phoenix VS solr第一种方案是通过HBase的普通
2015-04-30 21:02:34 1572
原创 hive over hbase方式将微博用户数据导入hbase
1,创建hbase表WeiboUserData>>create 'WeiboUserData','CF'2,创建hive->hbase外表logic_WeiboUserData,并对应hbase中的WeiboUser表>>CREATE EXTERNAL TABLE logic_WeiboUserData (rowkey string,screenName string,
2015-04-30 20:59:17 491
原创 hive over hbase方式将数据导出
CREATE EXTERNAL TABLE userData(rowkey string,UserId String, ProfileId int,ClientTimeHourPart int,ClientTimeDayOfWeekPart String,ServerTime String,Country String,StateOrProvince String,City String,Lo
2015-04-30 20:57:02 571
原创 hive over hbase方式将文本库数据导入hbase
1,创建hbase表Corpus>>create 'Corpus','CF'2,创建hive->hbase外表logic_Corpus,并对应hbase中的Corpus表>>CREATE EXTERNAL TABLE logic_Corpus (rowkey string,Text string)STORED BY 'org.apache.hadoop.hive.h
2015-04-30 20:55:01 445
原创 sqoop数据导出导入命令
1,修改/etc/profile文件export PATH=/usr/local/mysql/bin:$PATHexport PATH=/opt/cloudera/parcels/CDH-5.0.0-1.cdh5.0.0.p0.47/lib/sqoop/bin:$PATH2,使用sqoop:将mysql-connector-java-5.1.16-bin.jar文件复制到$SQOO
2015-04-30 20:52:22 1558
原创 源代码分析二:创建HTable
一,创建HTableA,获取TableName对象,缓存(使用CopyOnWriteArraySet)TableName优化1,缓存使用CopyOnWriteArraySet实现(为什么作者使用Set ?? 而非Map,从检索性能和操作便捷度上,Map优于set)缓存作用代码:for (TableName tn : tableCache) { if (A
2015-04-26 14:40:21 955
原创 源代码分析一:创建HBaseConfiguration和HConnectionManager
一:从 val HBASE_CONF = HBaseConfiguration.create开始创建HBaseConfiguration过程:A,新建Configuration对象 //loadDefaults默认为true public Configuration(boolean loadDefaults) { this.loadDefaults = lo
2015-04-26 14:37:50 3278
原创 parquet列式存储之:ColumnChunkPageWriteStore源码解析
ColumnChunkPageWriteStore源码解读OverviewColumnChunkPageWriteStore类是PageWriteStore的一种实现属性列表ParquetMetadataConverter parquetMetadataConverterMap writers MessageType schemaBytesCom
2015-04-02 18:58:20 1705 1
原创 spark-parquet列存储之:文件存储细节之:RowWriteSupport和RecordWriter
writeSupport初始化RecordWriter初始化
2015-04-02 15:06:50 1941
原创 Spark-parquet列存储之:ParquetTableOperations源码分析
ParquetTableOperationsParquetTableScanprivate class ParquetRowInputFormatInsertIntoParquetTableconstructor:case class InsertIntoParquetTable( relation: ParquetRelation, chi
2015-04-02 14:08:13 1379
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人