摘要:
问题研究项目中需要利用DataImportHandler从hive中sync数据到solr。发现有时候hive sql已经执行完几个小时了,sync任务还没有完成,貌似哪里卡住了。重启solr后重新sync又成功了,所以之前虽然遇到很多次这个问题也没有去深究。今天又出现了同样的问题,决定花点时间研究下到底是什么原因造成的。利用jstack dump了几遍线程栈,发现很多个线程都卡在同一个地方,at java.net.SocketInputStream.socketRead0(Native Method),显然这些进程都在等待jdbc从hive中读取数据。初步判断可能是网络原因导致网络中断,Tc 阅读全文
摘要:
安装tutorial的步骤安装Nutch,当执行下面这条命令时出现异常bin/nutch crawl urls -dir crawl -depth 3 -topN 5Injector: starting at 2013-11-07 15:25:54Injector: crawlDb: crawl/crawldbInjector: urlDir: urlsInjector: Converting injected urls to crawl db entries.Exception in thread "main" java.io.IOException: Failed to 阅读全文
摘要:
执行语句hive> explain select s.id, s.name from student s left outer join student_tmp st on s.name = st.name;结果,红色字体为我添加的注释hive> explain select s.id, s.name from student s left outer join student_tmp st on s.name = st.name; OKABSTRACT SYNTAX TREE: (TOK_QUERY (TOK_FROM (TOK_LEFTOU... 阅读全文
摘要:
上周五的时候去参加了一个面试,被问到了这个问题。问题描述如下:假如存在一个很大的文件,文件中的每一行是一个字符串。请问在内存有限的情况下(内存无法加载这个文件中的所有内容),如何计算出出现频率最高的前100名字符串?由于面试之前在学习hbase时了解了一下布隆过滤器(对bitmap的扩展使用),所以当时立刻想到用bitmap去解决这个问题,但是考虑到bitmap无法对出现的单词计数的。所以我当时的回答是:首先实例化一个数组,然后读取文件对每一行的字符串进行hash得到一个数值,然后将数组下标为这个数值的值+1,最后再将这个数组排序并取出前100名。后面想想自己的回答简直是驴头不对马嘴,我的答案 阅读全文