- 博客(7)
- 收藏
- 关注
原创 改列类型
aLTER TABLE *** CHANGE 字段x 字段x string后来发现不生效,表里已经变了,但数据依然插不进去删除重建才好的,待查alter table *** change 价格 价格 double这个改完再用却生效了
2014-05-29 11:50:41 521
原创 streamtable关键字
join一般都是在reduce阶段完成的,因为在map阶段无法使同样key值的分在一个map上。而在reduce阶段的join,hive默认把左表数据放在缓存中,右边表的数据做流数据。如果你想更改这种模式的话,就用/*+streamtable(表名)*/来指定你想要做为流数据的表。最好每次写join时,小表放左边,大表放右边。试过几十万的表和1亿的表,在hive不转为map joi
2014-05-29 11:43:03 2170
原创 数据倾斜2
如何避免因空值或者无意义的异常值引起的数据倾斜?首先查看是否是这些值导致的倾斜,用select key,count(1) from table group by key。如果是的话,解决方法为在on时,如下写:on case when length(a.key)符合异常条件 then concat(a.key,rand()) else a.key end =b.key;
2014-05-29 11:41:48 645
原创 关于lzo
要先用lzop命令压缩成lzo文件,接收到后用hadoop lzoindex命令生成索引,才能使用lzo格式,否则一个文件在mapreduce时只有一个map
2014-05-29 11:35:15 668
原创 关于decimal与double数据类型
关于double和decimal类型,double类型能表示的精度不如decimal,但是其数据范围比decimal的大。对于double类型的字段,用sum函数会出现多位小数的情况,比如a+b+c原来的值应该是556361.927,但用sum函数得到的却是556361.9269999999而如果将abc转为decimal类型,则此问题解决
2014-05-29 11:34:20 8748
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人