- 博客(34)
- 收藏
- 关注
原创 python做类似sql的流处理(0.8)
有时需要对结构化的文件进行处理,如果用sql可能方便些,但需要导入数据库、hive,而且有时sql不能满足时又需要用语言开发。用python做了个能实现类似sql功能的包,通过对数据的一步步处理实现想要的功能,如果基础功能不能满足需求,在此基础上开发也方便些。基于此包在hive中做查询也可以实现对数据的处理。用这个流处理可以把拉数据、推数据统一起来。假设pvlog1
2015-02-11 19:51:44 1052
原创 python instream
让python程序中每个数据处理过程专注自己的逻辑,尽量不受输入输出的影响。参考了pipe包。#!/usr/bin/python#coding:utf-8import sysimport itertools''' 处理流程模仿 shell 流处理 各个处理环节用 | 符号连接 函数名模仿 sql 语句 (数据处理有顺序相关的缺省认为已排序,未排序的需先用sort函数
2015-01-23 16:20:25 1316
原创 python根据key对流做join
def keyjoin(instreams,keyindexs=None): '''把各流进行关联,instreams是流数组,每个流中的数据类型为list或tuple indexss是用于把流数据关联在一起的字段索引,每个流对应一个索引数组''' if not keyindexs: keyindexs = [ () for s in instreams ]
2015-01-09 16:20:11 554
原创 python对流进行join
对流的合并,有时各个流的进度需要根据数据的不同而定。def joinstreams(instreams,getnext=lambda x:x): '''把各流进行关联,instreams是流数组, getnext函数决定从哪些流中取下一批数据,输入参数为流编号,输出应为需要从哪些流编号读数据的数组''' data = [ None for s in instreams
2014-11-21 12:00:34 616
原创 python实现多个协程协作
import sysfrom collections import dequefrom enum import Enum#其他文件import本模块时需要from cowork import cowork,MessageTypeMessageType = Enum('MessageType', 'StartWorking ArriveMessage RequestMessage Clos
2014-10-26 15:30:34 820
原创 scala实现配置文件的合并
scala实现合并配置文件import scala.collection.mutable.LinkedHashMapobject CombineConfigration { val debug = false var coverOption = "-cover"; var ignoreOption = "-ignore"; var isCover = tru
2014-07-17 16:56:03 1879
原创 spark定制之七:解决spark 1.0.1 import问题
spark-1.0.1\repl\src\main\scala\org\apache\spark\repl、
2014-07-14 19:47:57 1185
原创 spark定制之六:sql版start.scala
定制spark让sql更简单,上个版本的start.scala用的是HiveContext,这个是SQLContext的,不需编译。
2014-07-13 10:20:28 1319
原创 spark定制之四:完整的start.scala
从HDFS中读入,定义内存表"create table sometable (name string,age int,weight double)" from "hdfs:/test/testperson"查询vi"select * from testperson" hqlsaveto "somelocalfile"
2014-07-08 16:42:03 1218 1
原创 spark定制之三:MySchemaRDD
org.apache.spark.repl.Main.interp.command("""class MySchemaRDD(rdd:org.apache.spark.sql.SchemaRDD) extends java.io.Serializable { def go() = { var startstr = "" var endstr = RECO
2014-07-08 16:31:31 1082
转载 Apache Spark源码走读之2:Job的提交与运行
http://database.51cto.com/art/201407/444558.htm
2014-07-05 23:37:28 797
原创 shell执行scala文件脚本
#!/bin/bashsrcfile="$1"if [ $# -lt 1 ] || [ "${srcfile}" == "" ]; then echo need at least one parameter for the scala source file to run >&2 exit 1fishiftname=${srcfile%.*}
2014-07-03 15:35:09 2358
原创 shell字符分隔
取第一个匹配的字符分隔key=${line%%=*}value=${line#*=}name=${file%.*}ext=${file##*.}
2014-07-03 14:49:19 933
原创 shell根据模板创建源程序
create XXX.py时用template.py创建初始的python脚本同样可以创建java、scala、shelligs文件
2014-07-03 10:00:13 660
原创 hive中用java实现的udaf做线性回归
add jar some.jar;create temporary function lr as'com.autohome.hive.LineRegressUdaf';
2014-07-03 09:43:54 1961
原创 python不安装pymssql仅使用so访问sqlserver
cp ../pymssql/*.p* . # 复制python、cython文件cp ../pymssql/*.h . # 复制c头文件cp ../pymssql/freetds/nix_64/include/*.h . # 复制库头文件cp ../pymssql/freetds/nix_64/lib/*.a . # 复制库文件cython pymss
2014-07-03 09:22:27 625
原创 hive中用python脚本做小表的关联
forhive.py目前只支持两个函数memjoin读入数据文件到内存,与hive中的数据表进行join,需要7个参数,如果关联多个文件则7+6x个参数# 第一个参数 tabledefinefile 文件中需给出数据表的定义,数据表名称 : 字段名称1,>字段名称2,...,字段名称n,参考tabledef.txt,数据表名称可以是后面文件名,如果不完全一样文件路径需要包含数据
2014-07-03 09:12:18 921
原创 hadoop用job文件方式提交任务
hadoop job命令支持通过xml文件的方式提交任务。命令:hadoop job -libjars some.jar -submit testjob.xmluseroverlap.jar是实现了Mapper、Reducer等的jar包,testjob.xml是作业配置文件。例子在74的/data/hydata/mapreduce/useroverlapj
2014-07-03 08:34:38 1431
原创 hadoop不同版本间文件复制
bin/hadoop distcp -update -skipcrccheck hftp://XXX.XXX.XXX.XXX:50070/home/huyong/diceex/testpv/* hdfs://192.168.102.45:8020/test/testpv
2014-07-03 08:27:33 509
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人