新手使用 hadoop+hive 的请教

26 views
Skip to first unread message

周元元

unread,
Jul 3, 2014, 3:35:48 AM7/3/14
to hado...@googlegroups.com
Hi~各位,我刚接触 hadoop 不久,现在要用 hadoop 对 access log 做分析统计。以前是程序分析日志,然后存进数据库,第一效率不高,第二数据大了mysql也抗不住。目前准备用 hadoop + hive 来实现,目前环境基本搭建好, 但是对整个流程有点模糊,望指教。我现在准备这样来做:

1. 通过 http 把节点的日志传到中心(比如 /data/logfile 目录)
2. 定期扫描该目录,然后把日志文件 put 到 hdfs 中
3. hive load 日志文件 into table
4. 写查询语句统计一些基本的数据
5. 写接口给相关人员统计数据

因为着急出数据,所以架构先简单点,以后慢慢在完善。想咨询下这样做目前靠谱不靠谱?在第四步有点疑问,现在是结果 output 到指定目录的文件中,我应该是放进 mysql 里,还是说放进 Hbase 这样的nosql里,还是就放在文件里面? 

请各位指教,不甚感激

panfei

unread,
Jul 3, 2014, 4:44:11 AM7/3/14
to Hadoop中文用户组

因为着急出数据,所以架构先简单点,以后慢慢在完善。
这个很赞,就应该这样做,不要一开始就搞大而全,那样基本走不动

1. 通过 http 把节点的日志传到中心(比如 /data/logfile 目录)
这样做实时性上有妥协之外,其它都很好

2. 定期扫描该目录,然后把日志文件 put 到 hdfs 中
是不是直接用Hive的load data local inpath语句就可以直接省掉第3步了呢

3. hive load 日志文件 into table
参考2

4. 写查询语句统计一些基本的数据
也是你有疑问的一步。我们之前的经验是,起步阶段将Hive接口(HUE,有现成的当然要用现成的)开放给数据分析师(当然,可以是任何需要分析数据的人,只要权限允许),以满足各种日常数据分析需求;但是长此以往,会有大量的重复性的劳动,既浪费时间又烦人,故开发报表系统,每天跑一次报表结果保存到MySQL中,在web页面中展现数据图表,当然报表要可配置,方便加入新的报表。

5. 写接口给相关人员统计数据
这个问题,我没明白,你所谓的接口是Hive的查询接口呢,还是就是一个报表?

其它建议:

a. 如果有实时的需求,可以考虑使用Logstash+Elasticsearch+Kibana的技术组合,对于近期数据的实时分析非常合适;
b. 如果日志数据源较多,比如你的日志分布在数十台服务器上,可以考虑Flume这样的中心化的日志收集技术,当然上面说到的Logstash也可以做到这点;
c. Hive表的Partition要合理设计,不要出现partition数量指数上升的情况,否则Hive元数据库可能就是瓶颈了;

以上,希望能对你有帮助。


请各位指教,不甚感激

--
您收到此邮件是因为您订阅了Google网上论坛中的“Hadoop中国用户组(CHUG)”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到hadoopors+...@googlegroups.com
要查看更多选项,请访问https://groups.google.com/d/optout



--
不学习,不知道

Michael Chen

unread,
Jul 4, 2014, 12:31:21 AM7/4/14
to hado...@googlegroups.com
第四步的结果,是对查询响应要求较高。Hive的响应无法满足的情况下,最好输出到mysql这类传统数据库,或者延迟较低的分析型数据库如vertica。
另外第四步直接输出到hive中,装一个prestodb直接查询hive的结果表也是好选择。

Thanks & regards,
--------------------------------------------------------------------
陈胜凯 Chen, Michael
QQ:149436662
msn:michae...@hotmail.com
Mobile:18620280811
@chensh...@gmail.com

周元元

unread,
Jul 7, 2014, 4:03:24 AM7/7/14
to hado...@googlegroups.com

非常感谢回复,以为会沉掉!现在先把这个版本上了,主要针对离线日志分析,日志传输这块日后准备改成 flume 来做。ELK 前段时间看过,这套东西确实不错,做实时呈现很棒,就是感觉 ES 的搜索语句稍繁琐一点。非常感谢,以后肯定还有很多问题请教。

现在准备用 sqoop 把 hive 数据导入 mysql,这样可以吗?

在 2014年7月3日星期四UTC+8下午4时44分11秒,felix写道:




请各位指教,不甚感激

--
您收到此邮件是因为您订阅了Google网上论坛中的“Hadoop中国用户组(CHUG)”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到hadoopors+unsubscribe@googlegroups.com
要查看更多选项,请访问https://groups.google.com/d/optout



--
不学习,不知道

周元元

unread,
Jul 7, 2014, 4:04:24 AM7/7/14
to hado...@googlegroups.com
谢谢回复!现在准备用 sqoop 把 hive 的数据导入 mysql!

在 2014年7月4日星期五UTC+8下午12时31分21秒,Michael Chen写道:
第四步的结果,是对查询响应要求较高。Hive的响应无法满足的情况下,最好输出到mysql这类传统数据库,或者延迟较低的分析型数据库如vertica。
另外第四步直接输出到hive中,装一个prestodb直接查询hive的结果表也是好选择。
Thanks & regards,
--------------------------------------------------------------------
陈胜凯 Chen, Michael
QQ:149436662
msn:michae...@hotmail.com
Mobile:18620280811


请各位指教,不甚感激

--
您收到此邮件是因为您订阅了Google网上论坛中的“Hadoop中国用户组(CHUG)”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到hadoopors+unsubscribe@googlegroups.com
要查看更多选项,请访问https://groups.google.com/d/optout



--
不学习,不知道

--
您收到此邮件是因为您订阅了Google网上论坛中的“Hadoop中国用户组(CHUG)”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到hadoopors+unsubscribe@googlegroups.com
要查看更多选项,请访问https://groups.google.com/d/optout

panfei

unread,
Jul 7, 2014, 6:43:19 AM7/7/14
to Hadoop中文用户组
sqoop 未免太重了点吧。。 不过自己用着舒服就好!反正我们这里都是自己写的程序,主要还是为了灵活性考虑。


--
您收到此邮件是因为您订阅了Google网上论坛中的“Hadoop中国用户组(CHUG)”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到hadoopors+...@googlegroups.com
要查看更多选项,请访问https://groups.google.com/d/optout



--
不学习,不知道

panfei

unread,
Jul 7, 2014, 6:55:42 AM7/7/14
to Hadoop中文用户组
用Python或Ruby什么的写一个优雅、精巧的解析器不也是一件非常惬意的事情吗,
--
不学习,不知道
360.gif

周元元

unread,
Jul 7, 2014, 9:50:08 PM7/7/14
to hado...@googlegroups.com
sqoop 也是网上别人推荐的,还没开始用。如果写程序的话,是把 hive output 的内容直接 insert mysql 是吧,对程序的执行效率有什么要求吗?你们是多进程还是使用类似 gearmand 的这样的框架做一些效率的优化?谢谢
 
在 2014年7月7日星期一UTC+8下午6时43分19秒,felix写道:

panfei

unread,
Jul 7, 2014, 10:01:57 PM7/7/14
to Hadoop中文用户组
最简单的就是多线程脚本+crontab计划任务。如果有更精细的执行计划要求的话,可以使用celery、gearman等来玩。


--
您收到此邮件是因为您订阅了Google网上论坛中的“Hadoop中国用户组(CHUG)”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到hadoopors+...@googlegroups.com
要查看更多选项,请访问https://groups.google.com/d/optout



--
不学习,不知道

panfei

unread,
Jul 7, 2014, 10:03:25 PM7/7/14
to Hadoop中文用户组
不过还要考虑,增加的架构复杂度与你获得回报来比是不是成正比,越复杂的系统越容易出现问题。
--
不学习,不知道

周元元

unread,
Jul 7, 2014, 10:59:58 PM7/7/14
to hado...@googlegroups.com
好的,我先动手做起来。非常感谢

在 2014年7月8日星期二UTC+8上午10时01分57秒,felix写道:
Reply all
Reply to author
Forward
0 new messages