所以我正在开发一个预计会处理大量数据的应用程序,因此我决定使用Hadoop来处理它。
我的服务节点和数据节点与webapp是分开的,所以我使用HttpFS与Hadoop进行通信。
因此,每当在我的应用程序中生成新的行数据时,我是否应该调用相应的HttpFS URL将数据附加到HDFS文件?我应该将这些数据写入网络服务器的文件中并使用cronjob每小时将其上传到HDFS吗? 我应该更新Hive表还是应该只在需要查询时将数据加载到那里?
我对Hadoop很陌生,所以任何有用的链接都会有用。
答案 0 :(得分:0)
我更喜欢以下方法。
不要调用HtpFS URL将数据附加到HDSF文件中以进行每次更新。当数据文件大小超过128 MB(在Hadoop 2.x中)或64 MB(在Hadoop 1.x中)时,HDFS非常有效
在Web服务器中写入数据。当文件大小达到一定限度时,请使用滚动的appender - 以128 MB的倍数,例如1 GB文件。
您可以使用基于时间的cron作业,但要确保发送大数据文件(例如1 GB或128 MB的倍数),而不是仅发送1小时内累积的日志文件。
关于数据加载,您可以使用内部或外部HIVE表。看看这个article