Hadoop中的一些事情,遇到了就记录下来。
1、hive中的decimal字段对应于关系型库中的numeric,默认精度为0,若不指定小数点,数据将被四舍五入。比如0.82,在hive中会变成1,所以建表时最好指定精度,如decimal(10,2)。
2、shell中拼接年月日得到的日期,默认会是int型,需要变为string得手动加''。
3、sqoop导数时。--input-null-string '\\N' --input-null-non-string '\\N' 这两句非常重要,因为hive中的null默认是\N,导出的时候sqoop会去解析\N,如果对应关系型数据库中的表字段不是string类型,就会报错。加上这两句之后,sqoop会知道\N是表示null,不把它当字符来解析。