- ETL (Extraction-Transformation-Loading) 数据抽取、转换和加载。
- Hadoop 执行 MapRduce 失败,错误信息:job failed:# of failed Reduce Tasks exceeded allowed limit. FailedCount: 1..... 其原因是:MapReduce 执行时打开的文件数量超过系统或 Hadoop 配置的上限。解决方法:
- 修改系统打开文件数量上限:
修改 /etc/sysctl.conf,添加
fs.file-max = 65536。 修改 /etc/security/limits.conf,添加* - nofile 65536。 最后,通过ulimit -n查看上面更改是否生效。 - 修改 $HADOOP_HOME/conf/hdfs-site.xml 的
dfs.datanode.max.xcievers属性,确保 Hadoop 的每个 DataNode 打开的文件数不大于上述系统设置的打开文件数。(dfs.datanode.max.xcievers表示每个 DataNode 任一时刻可以打开的文件数量上限)
- 修改系统打开文件数量上限:
修改 /etc/sysctl.conf,添加
- Hive 中用hive-json-serde 解析导入的 JSON 数据,若查询的字段包含有浮点型的数据时失败,在提示错误的 src/main/java/org/openx/data/jsonserde/objectinspector/primitive/ParsePrimitiveUtils.java 文件中根据下面处理 timestamp 类型的代码依葫芦画瓢的修改 parseInt() 方法后。打包测试,竟然成功了。
- 最近几天游走在不同终端和不同语言的代码中间,不时的有恍惚感。
set ts=4 set expandtab set autoindentVIM 设置 Tab 的表现形式和距离的命令,总是忘记。- 《Programming Hive》内容还不错,不爽的是老出现一些 HQL 语法错误。
2014年3月14日星期五
2014-03-14
订阅:
博文
(
Atom
)