数据处理平台数据自动导入功能使用说明
1 功能介绍
数据处理平台数据自动导入功能,能够无缝对接用户的网页数据爬取任务,将爬取/下载数据实时、自动的导入数据处理平台的存储中,并自动按日期归档,便于后续利用大数据处理平台对数据进行自动数据抽取、清洗、去重等分布式处理任务。主要功能特性如下:
- 数据自动导入。导入与爬虫和下载同时进行,解决爬虫下载后需要手动上传的问题并减少上传等待时间。
- 自动日期归档。导入的数据会按照实际进入平台的日期进行归档,无缝对接平台的自动处理任务。
- 自动解压。支持gz文件的自动解压缩。
- 目录上传。支持多级目录的自动解析和数据导入,便于对已下载的大目录进行一次性上传。
- 上传进度展示和管理。支持便捷的查看上传状态和处理异常文件。
- 对爬取任务无影响。对下载或爬虫应用本身无阻塞立即返回,解压、目录搜索、上传均由平台后台按提交注册顺序进行,相对命令上传更稳定可靠。
- 导入性能。单应用数据导入速度可达20TB+每日。
2 数据自动导入
用户仅需在自己的下载或爬虫脚本最后加上对平台上传的rest服务的调用代码块即可实现数据自动导入,python调用形式如下,其它语言也可类似按rest方式调用
app_id = "spark_test"
file_path = "/home/pcl/common_crawl_download/CC-MAIN-20210224165708-20210224195708-00522.warc.wet.gz"
dest_dir = "test_upload_common_crawl"
payload = {'app_id': app_id, 'file_path': file_path, 'dest_dir': dest_dir}
res = requests.post("http://192.168.204.68:7083/post/hdfs/uploadFile", data=payload)
其中三个参数的含义如下,
app_id -- 上传应用空间的区分标识符,这个使用统一的common_crawl_upload即可。如果特殊应用需要独立上传可自定义app_id后联系@STARDUST增加应用空间。
file_path -- 下载或爬取后的文件路径,注意这里需要文件的绝对路径,例如/home/pcl/test.txt
dest_dir -- 数据处理平台的工作目录名,同样是用户自定义即可,最终数据会上传到平台的/user/pcl/input目录下的这个目录
实例:盘古下载common_crawl数据并进行自动导入,其接口调用形式如下
def func_with_download(line_str):
cmd ='wget --content-disposition "%s"' % line_str
os.system(cmd)
payload = {'app_id': "common_crawl_upload", 'file_path': "/home/pcl/common_crawl_download/" + line_str[line_str.rfind("/")+1:], 'dest_dir': "test_common_crawl_upload"}
res = requests.post("http://192.168.204.68:7083/post/hdfs/uploadFile", data=payload)
3 多级目录导入
与文件导入类似,仅需将file_path参数替换为目录即可,注意需要绝对目录,支持多级子目录递归上传,平台会自动解析目录结构搜索数据文件,上传完成后仍然会按日期归档,可以结合CURL命令进行简洁的rest请求
app_id = "spark_test"
file_path = "/gdata/commonCrawl/common-crawl-WET-2019-v4-ori"
dest_dir = "test_upload_common_crawl"
payload = {'app_id': app_id, 'file_path': file_path, 'dest_dir': dest_dir}
res = requests.post("http://192.168.204.68:7083/post/hdfs/uploadFile", data=payload)
4 进度查看
web地址: http://192.168.204.68:6080/#/uploadProcess
上传进度查看
异常文件管理
提交列表查看
日期归档情况查看 http://192.168.204.68:6080/#/fileList
5 注意事项
- 注意保证下载文件的完整性,例如下载gz文件如果本身已损坏,平台无法完成解压,这样的文件会被跳过并展示在异常文件管理界面。
- 需要保证数据在9P存储中或管理平台服务主节点可读取到的磁盘中,如果不在,需要先挂载磁盘再进行自动导入。