分别用Shell和Python遍历查询Hdfs文件路径
来源:互联网 发布:河南教师网络研修社区 编辑:程序博客网 时间:2024/06/05 03:34
1、使用Shell
/Users/nisj/PycharmProjects/BiDataProc/getOssFileForDemo/getHdfsFilePath.sh
2、使用Python
/Users/nisj/PycharmProjects/BiDataProc/getOssFileForDemo/getHdfsFilePath.py
3、说明
此处文件路径的遍历,只考虑到了两级目录,且目录结构相对统一规范。
Shell脚本通过循环查询及awk操作,将目录路径打印出来;而python脚本是将上级目录下的文件路径存放在一个文件中,可供查看(打印出来的情况,只代码注释部分)。
遍历Os文件路径及Oss上的文件路径的方式,应该与此相同;需要根据不同的访问方式进行代码更改。
/Users/nisj/PycharmProjects/BiDataProc/getOssFileForDemo/getHdfsFilePath.sh
#!/usr/bin/env bashfor file_path in `hadoop dfs -ls /tmp/oss_access/ | awk -F ' ' '{print $8}' ` do hadoop dfs -ls $file_path | awk -F ' ' '{print $8}' done
2、使用Python
/Users/nisj/PycharmProjects/BiDataProc/getOssFileForDemo/getHdfsFilePath.py
# -*- coding=utf-8 -*-import osimport refor dir_path in os.popen("""hadoop dfs -ls /tmp/oss_access/ | awk -F ' ' '{print $8}'""").readlines(): dir_path = dir_path.strip() if len(dir_path) != 0: x_dir_path = dir_path.replace('/','#') output = open('txt_path:{x_dir_path}.txt'.format(x_dir_path=x_dir_path), 'w+') file_path_list = os.popen("""hadoop dfs -ls %s | awk -F ' ' '{print $8}' """ % (dir_path)).readlines() output.writelines(file_path_list) # for file_path in file_path_list: # file_path = re.split(' ', file_path.replace('\n', '')) # print file_path[0] output.close()
3、说明
此处文件路径的遍历,只考虑到了两级目录,且目录结构相对统一规范。
Shell脚本通过循环查询及awk操作,将目录路径打印出来;而python脚本是将上级目录下的文件路径存放在一个文件中,可供查看(打印出来的情况,只代码注释部分)。
遍历Os文件路径及Oss上的文件路径的方式,应该与此相同;需要根据不同的访问方式进行代码更改。
2 0
- 分别用Shell和Python遍历查询Hdfs文件路径
- Python, Shell 遍历文件
- HDFS 读取、写入、遍历目录获取文件全路径
- python 遍历路径删除多余文件
- Win32遍历指定路径下的文件(Shell实现)
- shell递归遍历某路径下所有的文件
- Python:遍历输出某路径下的所有文件和文件夹
- Python寻找路径和查找文件路径
- python文件和路径操作
- python 遍历文件并把相应的文件分别写入不同文件夹
- c python shell获得文件路径以及所有的文件
- VB 分别用DIR和API遍历驱动器实例
- python对Hadoop的hdfs的操作——-pyhdfs或python调用shell文件
- php遍历路径文件
- HDFS 读取、写入、遍历目录获取文件全路径、append文件创建或者写入报错问题分析
- Shell 遍历文件
- Shell遍历文件内容
- shell 文件遍历
- android 用原生的人脸检测 检测图片
- RPC 和 Web Service 有什么区别?
- ES5与ES6继承的区别
- centos 没有netstat 命令问题
- IOS网络请求Get,Post请求差异及用法
- 分别用Shell和Python遍历查询Hdfs文件路径
- 三维点比较大小
- Swift-服务器返回的数据类型的坑。
- iframe深度理解
- bootstrapTable 举例2
- 生成git所需的 SSH Key
- 2017机器人&人工智能产业发展论坛即将于6月召开!
- 数据库使用心得
- jQuery EasyUI DataGrid Checkbox 数据设定与取值