最近项目中遇到了存储在HDFS上的数据格式不对,是由于数据中带有\r\n的字符,程序处理的时候没有考虑到这些情况。历史数据大概有一年的时间,需要把错误的数据或者重复的数据给删除了,保留正确的数据,项目中使用Pig来进行数据处理,所以我写了一个UDF的JAVA类去过滤
那些错误的数据,把错误的数据和正确的数据分别存了一份,然后写了以下脚本统计数据的Schema和条数,记录下来,以后项目可以参考。 #!/bin/sh curDir=`cd "$(dirname $0)";pwd` summary(){
files="" printf "job\ttotalQueries\tgoodQueries\tbadQueries\n" > $
while read job
do
if [ -z files ]; then
files="$job/par*"
else
files="$files $job/par*"
fi totalQueries=`hadoop fs -text $job/par* | wc -l`
goodQueries=`hadoop fs -text /user/chran/txt$job/par* |wc -l`
badQueries=`hadoop fs -text /user/chran/txt/error$job/par* | wc -l`
#distinctQueries=`hadoop fs -text $job/par* | awk -F '\a' '{ print NF }' | sort | uniq`
printf "$job\t$totalQueries\t$goodQueries\t$badQueries\n" >> $
done < $
} check(){
tempDir=$curDir/temp if [ ! -d $tempDir ]; then
mkdir -p $tempDir
fi #clean up result files
output=$tempDir/$
rm $output if ! hadoop fs -test -d $ ; then
echo "$1 in HDFS doesn't exist"
exit -
fi #list all sub folders
folderList=$tempDir/$.folderlist.temp
#hadoop fs -ls $ | awk '{ print $NF }' | uniq | sort > $folderList
hadoop fs -lsr $ | grep "/[0-9][0-9]\$" | grep "00\$" | awk '{ print $NF }' | uniq | sort > $folderList summary $folderList $output rm $folderList
}
check "/apps/risk/ars/social/raw/SOCIAL_FACEBOOK_RAW" "check_facebook.output.txt"

data audit on hadoop fs的更多相关文章

  1. 013_HDFS文件合并上传putmarge功能(类似于hadoop fs -getmerge)

    场景 合并小文件,存放到HDFS上.例如,当需要分析来自许多服务器的Apache日志时,各个日志文件可能比较小,然而Hadoop更合适处理大文件,效率会更高,此时就需要合并分散的文件.如果先将所有文件 ...

  2. hadoop fs -put上传文件失败,WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Problem connecting to server: master:8020

    hadoop fs -put上传文件失败 报错信息:(test文件夹是已经成功建好的) [root@master ~]# hadoop fs -put test1.txt /test // :: WA ...

  3. Hadoop fs 使用方法

    hdfs的基本命令 hdfs dfs -help    查看帮助 在HDFS的文件系统中,HDFS只支持绝对路径 1.-ls: 显示目录信息 hadoop fs -ls / 列出指定目录下的内容 2. ...

  4. 【转】Hadoop FS Shell命令

    FS Shell 调用文件系统(FS)Shell命令应使用 bin/hadoop fs <args> 的形式. 所有的的FS shell命令使用URI路径作为参数.URI格式是scheme ...

  5. hadoop fs 命令

    1,hadoop fs –fs [local | <file system URI>]:声明hadoop使用的文件系统,如果不声明的话,使用当前配置文件配置的,按如下顺序查找:hadoop ...

  6. hadoop fs -mkdir testdata错误 提示No such file or directory

    解决方法: hadoop fs -mkdir -p testdata

  7. Hadoop FS shell commands

    命令格式:hadoop fs -command -option args appendToFileUsage: hadoop fs -appendToFile <localsrc> ... ...

  8. 何时使用hadoop fs、hadoop dfs与hdfs dfs命令(转)

    hadoop fs:使用面最广,可以操作任何文件系统. hadoop dfs与hdfs dfs:只能操作HDFS文件系统相关(包括与Local FS间的操作),前者已经Deprecated,一般使用后 ...

  9. hadoop fs管理文件权限

    sudo addgroup Hadoop#添加一个hadoop组sudo usermod -a -G hadoop larry#将当前用户加入到hadoop组 修改hadoop目录的权限sudo ch ...

随机推荐

  1. 浅析Quartz的集群配置

    浅析Quartz的集群配置(一) 收藏人:Rozdy     2015-01-13 | 阅:1  转:22    |   来源   |  分享               1 基本信息 摘要:Quar ...

  2. IDEA快速光标跳转

    Ace Jump是一种从emacs上借鉴过来的快速光标跳转方式,操作方式是:你用某个快捷键进入Ace Jump模式后,再按任一个键,当前屏幕中所有该字符都被打上一个字母标记,你只要按这个字母,光标就会 ...

  3. 前端自动化神器gulp使用记录

    1.安装压缩图片插件的时候,由于网络原因,死活安装不成功.由于imagemin本身就包含很多插件,安装的时候卡住了,很是郁闷.如果要压缩png图片,那就单独安装imagemin-pngquant压缩插 ...

  4. MongoDB 安装和即基本操作

    http://www.mongodb.org/ Agile and Scalable MongoDB (from "humongous") is an open-source do ...

  5. php命令行用法简介

    Php是一个非常流行的web服务端脚本语言.其实,php不仅仅可以在web服务器中充当重要角色.在命令行一样可以执行. 本文中,笔者为各位介绍下php在命令行中的使用方法. 1.  查看php的版本. ...

  6. 10位顶级PHP大师的开发原则

    在Web开发世界里,PHP是最流行的语言之一,从PHP里,你能够很容易的找到你所需的脚本,遗憾的是,很少人会去用“最佳做法”去写一个PHP程序.这里,我们向大家介绍PHP的10种最佳实践,当然,每一种 ...

  7. WCF-学习笔记概述之计算服务(1)

    关于WCF的介绍,在此不再赘述,其他地方应有尽有.直接开始实例,第一个实例以一个简单的计算服务为例,本人是学习了蒋金楠的<WCF全面解析>. 1.构建解决方案 Interface:用于定义 ...

  8. 用imagemagick和tesseract-ocr破解简单验证码

    用imagemagick和tesseract-ocr破解简单验证码 Tesseract-ocr据说辨识程度是世界排名第三,可谓神器啊. 准备工作: 1.安装tesseract-ocr sudo apt ...

  9. QSettings介绍

    简介 QSettings类提供了持久的跨平台应用程序设置. 用户通常期望应用程序记住它的设置(窗口大小.位置等)所有会话.这些信息通常存储在Windows系统注册表,OS X和iOS的属性列表文件中. ...

  10. 大流量IIS负载均衡NLB解决方案

    说白了就是  用多台WEB服务器   同时处理大量的http请求! 机器越多力量越大呵呵!!! 在现行的许多网络应用中,有时一台服务器往往不能满足客户端的要求,此时只能通过增加服务器来解决问题. 那么 ...