`
dacoolbaby
  • 浏览: 1267362 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论
文章列表
写MR Job的时候遇到一个坑爹的异常: LongWritable cannot be cast to org.apache.hadoop.io.IntWritable   当写Map的时候,key的默认输入就是LongWritable。 因为LongWritable指代Block中的数据偏移量。   所以把它强行转换成Text当然就Error了。。 public static class TempMapper extends Mapper<LongWritable, Text, IntWritable, FloatWritable>{ @Override ...
对于一些Job,可能是由于临时的环境依赖关系,导致的调度失败。 比如说调用远程的WebService接口,Restful接口等。 或者是同步远程数据发生网络异常,这种情况,应该予以自动重跑。   在Oozie下面,是支持这样的操作的: <workflow-app xmlns="uri:oozie:workflow:0.3" name="wf-name"> <action name="a" retry-max="3" retry-interval="1"> ...

Java动态代理

    博客分类:
  • Java
Java的各种框架之中经常会使用到动态代理,包括AOP编程。 于是小弟下决心好好研究研究。   动态代理和静态代理的区别在于,动态代理会通过反射来生成一个静态代理对象。 通过静态代理对象来访问服务器的内部接口。   比如说一些日志组建的调用,安全性强的有事物的开启和关闭,数据库连接的开启和关闭。 这些接口如果在服务器上面,开放给客户端进行随意调用,很可能会出现问题。   所以代理Proxy在这个时候就起到了隔离的作用。只提供接口进行服务,但是具体除了完成接口的方法,还进行了额外的操作,对客户端进行屏蔽。   有个HelloWorld的接口和一个HelloWorldImp ...
原文来自:http://blog.csdn.net/macyang/article/details/9260777    通读了一下,进行翻译: 在MapReduce job下面,有个Combiner,工作机制是将Reducer的工作分担一部分给Map阶段来做。 在Hive的执行计划优化中也是如此,默认情况下会开启Map-side Aggregation优化的功能。   select distinct id from tbl; select id from tbl group by id; 这2种写法虽然可以得到相同的结果,但是执行计划则有很大的区别。 使用distinct效 ...
#python任务调度轻量级框架 from apscheduler.scheduler import Schedulerimport time # Start the schedulersched = Scheduler() def job_function():    print "Hello World" print 'start to sleep'sched.daemonic = Falsesched.add_cron_job(job_function,day_of_week='mon-sun', hour='*', minute='0-59',second ...
  Eclipse不自动编译 手动project>Clean Eclipse 打开project->build automatically 试后不行,还是不编译. 打开project --> build automatically 另外 clean一下就可能会编译了   eclipse默认是选自动编译。即使取消自动编译,手动build工程,也不能编译。 出现这种情况一般有以下三种原因: 1.如果项目里引了某个不用的jar包,而那个包又被你删了,就会出现不报错但怎么也编译不出来class文件的情况,可以把所有包都删除,然后一个一个的再引入(需要的),不要一下 ...
在中文Windows系统中,如果一个文本文件是UTF-8编码的,那么在CMD.exe命令行窗口(所谓的DOS窗口)中不能正确显示文件中的内容。   在默认情况下,命令行窗口中使用的代码页是中文或者美国的,即编码是中文字符集或者西文字符集。   如果想正确显示UTF-8字符,可以按照以下步骤操作: 1、打开CMD.exe命令行窗口   2、通过 chcp命令改变代码页,UTF-8的代码页为65001 chcp 65001 执行该操作后,代码页就被变成UTF-8了。但是,在窗口中仍旧不能正确显示UTF-8字符。     3、修改窗口属性,改变字体 在命令行标题栏上点击右键,选择 ...

广州面试小结

有个机会回广州,所以就请了一天假出来面试一下。   上午是UC web,在广州的潭村地铁站附近。 下午是唯品会,地点在芳村醉观公园旁边。   UC web面试的是数据开发工程师。 带着简历,被HR领去做了一份简单的笔试题,填了一份个人信息表。 UC的饭堂据说出了名的给力,没机会品尝哈。 办公室是新的,妹子也挺多的,长得还行啊。。办公环境总体来说不错。   笔试题很简单,就是简单的数据Hash处理加上SQL的问题,还有一个五个海盗分钻石的思考题。 做完没多久,就进去一个会议室笔试了。   面试我的是一个部门领导加一个技术经理吧。 部门老大应该是DBA出生的,对数据库方 ...
工作中遇到将Hive数据组装同步到MongoDB的需求。 于是乎,传统的DB设计结构就遇到了难题,因此需要有个向WM_CONCAT的函数来将列转行。 还好有现成的解决方案,否则又要自己码一个UDAF处理函数。 hive> desc t;    OK    id      string    str     string    Time taken: 0.249 seconds    hive> select * from t;    OK    1       A    1       B    2       C    2 ...
Refer to:http://www.cnblogs.com/cenyuhai/archive/2013/09/06/3306073.html  Oracle: Connection Reset Errors错误代码11/05/26 16:23:47 INFO mapred.JobClient: Task Id : attempt_201105261333_0002_m_000002_0, Status : FAILEDjava.lang.RuntimeException: java.lang.RuntimeException: java.sql.SQLRecoverableExcepti ...
Window Function又称做窗口函数,分析函数。在Oracle里面就有这样的分析函数,用于数据统计分析之用。 在Hive里面,数据分析也提出相似的需求。 使用方法如下:select t.*, row_number() over(partition by area sort by updated_date ) as rnofrom table_name t over()表示当前查询的结果集对象,括号里面的语句则表示对这个结果集进行处理。 在Hive里面,可以把这一部分独立抽出来做声明。如:select  p_mfgr,p_name, p_size, sum(p_retailpr ...
在使用Oozie的时候,遇到如下异常 Server redirected too many  times (20)java.net.ProtocolException: Server redirected too many  times (20)at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1141)at java.net.URL.openStream(URL.java:1007) 这个是怎么回事呢? 后来查到论坛中有人提到:      “多半是重定向又回到原来的 ...
refer to http://blog.csdn.net/xiaolang85/article/details/8823025    parse_url(url, partToExtract[, key]) - extracts a part from a URL 解析URL字符串,partToExtract的选项包含[HOST,PATH,QUERY,REF,PROTOCOL,FILE,AUTHORITY,USERINFO]。   举例: * parse_url('http://facebook.com/path/p1.php?query=1', 'HOST')返回'facebo ...

Java IO 的readLine

    博客分类:
  • Java
一致疏于JAVA IO方面的基础学习。   这次在使用到HDFS的文件接口的时候,就遇到这方面的问题。   于是巩固一下基础。   java io是典型的decorator设计模式。   Path path = new Path(“路径”); FSDataIOutputStream fdos = fs.append(path); //追加 fdos.write……即可 fdos.flush();//刷出数据    FSDataInputStream fdis = fs.open(path);   Text line = new Text();
这是掌握cookie最后的一个障碍: 缺省情况下cookie只能被在同一个Web服务器上同一个路径下设置了该cookie的网页读取.例如,如果在http://chimp.webmonkey.com/food/bananas/banana_puree.htm有一段Javascript询问了用户的姓名,你可能需要在你的另一个网页例如主页中访问一个给定的名字. 所以你必须设定该cookie的路径. 路径"path"用于设置可以读取一个cookie的最顶层的目录. 将cookie的路径设置为你的网页最顶层的目录可以让该该目录下的所有网页都能访问该cookie.   方 ...
Global site tag (gtag.js) - Google Analytics