hive数据表清洗

hive数据表的数据清洗,hive中的查询都是基于map-reduce,一般向hive中导入数据的方式主要有四种:1 将本地的文件内容导入到hive中,2:将HDFS系统中的文件导入到hive表中,3:从别的表中查询出数据导入到表中。今天分享一下用map-reduce做数据清理并且将HDFS的文件导入到hive表中的操作,首先我所统计的信息中的字段user_id和subject_id在hive表中是明显错误的,subject_id是类似于““22000000”,user_id是类似于“30”这样的,我们获得字段信息是在日志信息中用tab来分割提取的,由于日志分割的错误,我们很可能得到错误的信息存到hive表中。我们处理的最开始的日志是ct_show日志,这个日志包含了很多信息,每一个日志有自己的唯一ssid,我们根据这个ssid来关联两个小时内的其他动作的log文件,比如说是click或是download,然后统计信息,存到我们的hive的表中。我们的代码是用sh脚本运行,在sh脚本中嵌入了运行map-reduce的jar包。我们在java代码里面做了一些条件过滤,然后用maven来clean和install一下,来生成jar包,放到sh脚本的指定目录下面进行执行。最后就静静的等着map和reduce了。我的方法就是,不做清洗,重新再代码里写过滤条件,然后在重新导入一遍。

你可能感兴趣的:(hive数据表清洗)