- 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 任一时刻可以打开的文件数量上限)
- Hive 中用hive-json-serde 解析导入的 JSON 数据,若查询的字段包含有浮点型的数据时失败,在提示错误的 src/main/java/org/openx/data/jsonserde/objectinspector/primitive/ParsePrimitiveUtils.java 文件中根据下面处理 timestamp 类型的代码依葫芦画瓢的修改 parseInt() 方法后。打包测试,竟然成功了。
- 最近几天游走在不同终端和不同语言的代码中间,不时的有恍惚感。
set ts=4 set expandtab set autoindent VIM 设置 Tab 的表现形式和距离的命令,总是忘记。
- 《Programming Hive》内容还不错,不爽的是老出现一些 HQL 语法错误。