热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【华为云上云之路】网络AI模型开发(2)数据入湖、数据处理

本篇文章主要分享在华为云NAIE的数据服务中,进行数据入湖、数据处理。目录数据入湖数据处理数据入湖简介我们在华为云NAIE开通“数据资产管理服务”后ÿ

本篇文章主要分享在华为云NAIE的数据服务中,进行数据入湖、数据处理。

目录

数据入湖

数据处理



数据入湖

简介

  我们在华为云NAIE开通“数据资产管理服务”后,把数据上传到数据湖OBS中。其中数据可以从本地文件、租户OBS、数据湖OBS、HIVE、DWS等方式上传。

流程

1)先准备数据,以.csv为后缀的文件;(本文中使用本地文件上传)

2)进入数据资产管理服务,选择“治理工具”下面的“数据加载”,把本地的数据上传数据湖OBS中。

特点

1)数据输入端:本地文件、租户OBS、数据湖OBS、HIVE、DWS等方式;

2)数据生成端:数据湖OBS。

 

数据资产管理服务 页面

进入服务;

 

选择“治理工具”下面的“数据加载”,点击“创建任务”

关于上传数据湖OBS的路径,可以根据实际情况选择,记得就好,后面要用到的哈。

注意:数据输入端:本地文件、租户OBS、数据湖OBS、HIVE、DWS等方式;根据实际情况选择哈。

如果想体验一下,可以到网盘拿数据放到本地来上传,链接:https://pan.baidu.com/s/1KZiGw1_3EFnYBSKzp4VVlQ    提取码:ifcj 
 

 

点击底下的连接测试,当两端都连通后,可以点击“提交”

查看状态,在运行中,等待一会变成运行成功,就可以啦。

 


 


数据处理

简介

上传到数据湖OBS数据,进行处理;比如数据清洗,数据过滤,增删数据等,也可以进行读写OBS的基本方法、参数的添加和使用。

特点

1)使用Python语言进行处理的

2)线上填写代码;

3)支持不同的引擎框架(Horovod、MXNet、PyTorch、Ray、Spark_MLlib、TensorFlow、XGBoost-Sklearn),Python版本来运行;

 

操作流程

来到“数据处理”,点击“新增作业”

 

创建作业:填写名称、选择作业位置等

 

点击“下一步”,

 

main.py是官方的实例代码,作用:演示读写OBS的基本方法、参数的添加和使用方法

参考链接:https://github.com/huaweicloud/ModelArts-Lab/blob/master/docs/moxing_api_doc/MoXing_API_File.md

"""
Sample Code, you can delete this file. Or clear this file content.
Execution engine suggests choosing TensorFlow/MXNet/PyTorch.
Python version 3.6 or higher.Functional description
1. Parsing running parameters. See function argument_init
2. Reading csv file from OBS. See function read_from_obs
3. Writing data to OBS. See function read_from_obsmoxing API document [https://github.com/huaweicloud/ModelArts-Lab/blob/master/docs/moxing_api_doc/MoXing_API_File.md]
"""
import argparse
import logging
import os
import pandas as pd# Adapt to ModelArts runtime environment
try:import moxing as moxmox.file.shift('os', 'mox')
except (ModuleNotFoundError, AttributeError):mox = Nonelogging.info('Not exist moxing module. if running on modelarts engine. please select TensorFlow engine. Python Version is 3.6')def argument_init():"""Parsing running parameters.:return: Running params"""logging.info('Start to init running argument...')parser = argparse.ArgumentParser(description="pm data process")parser.add_argument('--data_url', type=str, default='s3://bucket_name/folder/', help='System preset parameters.')parser.add_argument('--train_url', type=str, default='s3://bucket_name/folder/', help='System preset parameters.')parser.add_argument('--input_path', type=str, default=None, help='User-defined parameter example.')parser.add_argument('--output_path', type=str, default=None, help='User-defined parameter example.')return parser.parse_known_args()def read_from_obs(input_path):"""Reading csv file from OBS:param input_path: OBS path. such as s3://bucket/folder/:return: data frame"""logging.info('start to read file from OBS. input_path=%s' % input_path)if input_path is None or input_path.endswith('s3://'):logging.error('input_path is None or not endswith s3://')returnif not os.path.exists(input_path):logging.warning('input_path is not exists.')return Nonedata_frame = Nonefor file_name in os.listdir(input_path):if not file_name.endswith('.csv'):logging.info('%s is not csv file.' % file_name)continuewith open(os.path.join(input_path, file_name), 'rb') as f:data_frame = pd.read_csv(f, encoding='utf-8')logging.info('success read file. file_name=%s' % file_name)breakreturn data_framedef data_process(data_frame_before_process):"""User-defined data processing function:param data_frame: pandas data frame:return: Processed data frame"""logging.info('start to process data...')# Start of your own processing code.# Write your own processing code here.# End of your own processing code.logging.info('end to process data...')return data_frame_after_processdef write_to_obs(data_frame, output_path):"""Writing data to OBS.:param data_frame: pandas data frame:param output_path: OBS Path. such as s3://bucket/folder/:return: None"""logging.info('start to writing data to OBS. output_path=%s' % output_path)if data_frame is None:logging.warning('data_frame is None.')returnif output_path is None or output_path.endswith('s3://'):logging.error('output_path is None or not endswith s3://')returnif not os.path.exists(output_path):os.makedirs(output_path)data_frame.to_csv('out.csv', encoding='utf-8', index=False) # write to localmox.file.copy('out.csv', os.path.join(output_path, 'out.csv')) # copy to obslogging.info('success write data to obs. output_file=%s' % os.path.join(output_path, 'out.csv'))if __name__ == '__main__':logging.info('start to running......')# parse running argumentargs, un_known = argument_init()# Read from obsdataframe = read_from_obs(args.input_path)if dataframe is None:dataframe = pd.DataFrame({'col1': [1, 2], 'col2': [3, 4]})# start call your own process function# dataframe = data_process(dataframe)# end call your own process function# Write to obswrite_to_obs(dataframe, args.output_path)logging.info('finish.....')

 

根据实际情况修改main.py代码,在代码中是可以传递参数的哈;然后点击“运行”

来到如下页面:

补充一下:

1)执行引擎有如下几种

2)如果main.py中不需要外部参数,或者有默认的参数不需要改变,可以不用传递参数。

 

完成上面的设置后,点击“提交运行”,看到状态是在运行中,等待一会就看到运行成功啦。

 

好啦,现在完成网络AI模型开发的数据入湖、数据处理。

 

友情链接: 【华为云-上云之路】网络AI模型开发(1)创建IAM用户、订阅AI服务

福利:华为云--公开课程《网络AI模型开发》

地址:7天玩转网络AI模型开发

华为云官网出品,有视频,有课件,都是免费的。

 

 

 

 

 

 

 

 


推荐阅读
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • REVERT权限切换的操作步骤和注意事项
    本文介绍了在SQL Server中进行REVERT权限切换的操作步骤和注意事项。首先登录到SQL Server,其中包括一个具有很小权限的普通用户和一个系统管理员角色中的成员。然后通过添加Windows登录到SQL Server,并将其添加到AdventureWorks数据库中的用户列表中。最后通过REVERT命令切换权限。在操作过程中需要注意的是,确保登录名和数据库名的正确性,并遵循安全措施,以防止权限泄露和数据损坏。 ... [详细]
  • STL迭代器的种类及其功能介绍
    本文介绍了标准模板库(STL)定义的五种迭代器的种类和功能。通过图表展示了这几种迭代器之间的关系,并详细描述了各个迭代器的功能和使用方法。其中,输入迭代器用于从容器中读取元素,输出迭代器用于向容器中写入元素,正向迭代器是输入迭代器和输出迭代器的组合。本文的目的是帮助读者更好地理解STL迭代器的使用方法和特点。 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • Postgresql备份和恢复的方法及命令行操作步骤
    本文介绍了使用Postgresql进行备份和恢复的方法及命令行操作步骤。通过使用pg_dump命令进行备份,pg_restore命令进行恢复,并设置-h localhost选项,可以完成数据的备份和恢复操作。此外,本文还提供了参考链接以获取更多详细信息。 ... [详细]
  • 本文分析了Wince程序内存和存储内存的分布及作用。Wince内存包括系统内存、对象存储和程序内存,其中系统内存占用了一部分SDRAM,而剩下的30M为程序内存和存储内存。对象存储是嵌入式wince操作系统中的一个新概念,常用于消费电子设备中。此外,文章还介绍了主电源和后备电池在操作系统中的作用。 ... [详细]
  • GSIOpenSSH PAM_USER 安全绕过漏洞
    漏洞名称:GSI-OpenSSHPAM_USER安全绕过漏洞CNNVD编号:CNNVD-201304-097发布时间:2013-04-09 ... [详细]
  • 本文介绍了使用jQuery实现图片预加载和等比例缩放的方法,同时提供了演示和相关代码。该方法可以重置图片的宽度和高度,并使图片在水平和垂直方向上居中显示。 ... [详细]
author-avatar
捕鱼达人2602881157
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有