MaxComputer - ODPS访问OSS非结构化数据

本文涉及的产品
对象存储 OSS,20GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
简介: MaxCompute访问OSS的数据,在此主要介绍下面两种方式: 1、创建odps外部表,直接访问OSS非结构化数据 2、创建odps内部表,通过节点任务同步OSS 非结构化数据

。。。
。。。
。。。此处忽略文章背景千万字。。。
。。。
。。。

MaxCompute访问OSS的数据,在此主要介绍下面两种方式:
1、创建odps外部表,直接访问OSS非结构化数据
2、创建odps内部表,通过节点任务同步OSS 非结构化数据

首先创建个csv/txt文件test_odps_oss.TXT,然后上传到OSS。
文件内容:
客户姓名,身份证号码
张三,50022111111
李四,50022111112
王五,"
50022111113"

image

接下来就通过上诉两种方式,在maxcomputer通过sql查询查看数据。

第一种通过外部表的方式:

    drop table if exists test_oss_ext;

    CREATE EXTERNAL TABLE IF NOT EXISTS test_oss_ext
    (
        cust_name string COMMENT '客户名称',
        id_number string COMMENT '证件号码' 
    )
    STORED BY 'com.aliyun.odps.TextStorageHandler' -- (1)
    WITH SERDEPROPERTIES (
     'odps.properties.rolearn'='acs:ram::<主账号ID>:role/aliyunodpsdefaultrole',   -- (2)
      'delimiter'=',',
      'odps.text.option.header.lines.count'='1',
      'odps.text.option.encoding'='UTF-8'
    ) 
    LOCATION 'oss://oss-cn-hangzhou-internal.aliyuncs.com/odps-test/';  -- (3)
  • (1)com.aliyun.odps.Text(Csv)StorageHandler是内置的处理text(csv)格式文件的StorageHandler,它定义了如何读写text(csv)文件。您只需指明这个名字,相关逻辑已经由系统实现。
  • (2)odps.properties.rolearn中的信息是RAM中AliyunODPSDefaultRole的Arn信息。您可以通过RAM控制台中的角色详情获取。(参考文档1中有详细说明)
  • (3)LOCATION必须指定一个OSS目录且不能为根目录,默认系统会读取这个目录下所有的文件。

目前SERDEPROPERTIES还支持的属性项,如下所示:
image

执行完上面的外部表创建之后,我们查询下数据:

select * from test_oss_ext
FAILED: ODPS-0123131:User defined function exception - Traceback:
java.lang.RuntimeException: SCHEMA MISMATCH: External Table schema specified a total of [2] columns, but current text line parsed into [1] columns delimited by [,]. Current line is read as: 50022111113"

错误提示很明显,就是文本里面最后一行数据没有,分割符,那把文件修改下上传到OSS再试下。

image

怎么样,是不是很方便,传统的指标计算,很多都是由数据仓库提供明细数据或汇总数据至应用服务器,由应用端界面提供各种参数,阈值配置,那现在我们是不是可以直接通过外部表的方式,将指标计算在仓库完成,前端直接展现,是不是能提高效率。
另外,odps查询外部表是0费用的,还可以节约成本。。。
image

第二种通过节点任务同步数据

配置数据源(详情参考文档2):
image

创建内部表:

CREATE TABLE IF NOT EXISTS pwork.test_oss_ext
(
    cust_name string COMMENT '客户名称',
    id_number string COMMENT '证件号码' 
)

创建数据同步的节点任务(详情见参考文档3):
看下OSS的配置:
image

先预览下数据:
image

来源配置没问题,直接下一步继续配置,提交测试运行,完成之后看下查询结果;

image

再来看下消费情况:
image

呃呃呃,一分钱,蚊子再小也是肉啊,查一次就离买房远一步诶。

接下来,再把文件改成下面的样式上传到OSS,看下节点任务的同步情况:
客户姓名,身份证号码
张三,50022111111
李四,50022111112
王五,"
50022111113"

在这就不一一操作了,直接看下来源配置的数据预览:
image

外部表若能如此,对于csv类型的文件,操作起来就更方便了。

参考文档:
1、odps访问OSS非结构化数据
https://help.aliyun.com/document_detail/45389.html?spm=a2c4g.11186623.6.702.636d185dI2jctE
2、dataworks配置OSS数据源
https: //help.aliyun.com/knowledge_detail/74292.html
3、dataworks创建同步任务
https: //help.aliyun.com/document_detail/30269.html?spm=5176.10695662.1996646101.searchclickresult.796b4ae3w8NVpF

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
相关文章
|
1月前
|
分布式计算 DataWorks 数据处理
"DataWorks高级技巧揭秘:手把手教你如何在PyODPS节点中将模型一键写入OSS,实现数据处理的完美闭环!"
【10月更文挑战第23天】DataWorks是企业级的云数据开发管理平台,支持强大的数据处理和分析功能。通过PyODPS节点,用户可以编写Python代码执行ODPS任务。本文介绍了如何在DataWorks中训练模型并将其保存到OSS的详细步骤和示例代码,包括初始化ODPS和OSS服务、读取数据、训练模型、保存模型到OSS等关键步骤。
78 3
|
2月前
|
存储 人工智能 缓存
AI助理直击要害,从繁复中提炼精华——使用CDN加速访问OSS存储的图片
本案例介绍如何利用AI助理快速实现OSS存储的图片接入CDN,以加速图片访问。通过AI助理提炼关键操作步骤,避免在复杂文档中寻找解决方案。主要步骤包括开通CDN、添加加速域名、配置CNAME等。实测显示,接入CDN后图片加载时间显著缩短,验证了加速效果。此方法大幅提高了操作效率,降低了学习成本。
5446 16
|
2月前
|
存储 网络安全 对象存储
缺乏中间证书导致通过HTTPS协议访问OSS异常
【10月更文挑战第4天】缺乏中间证书导致通过HTTPS协议访问OSS异常
103 4
|
5月前
|
分布式计算 DataWorks 数据处理
MaxCompute操作报错合集之UDF访问OSS,配置白名单后出现报错,是什么原因
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
|
5月前
|
分布式计算 大数据 数据挖掘
MaxCompute产品使用合集之如何解决MC通过外部表方式访问Hologres时,数据量达到3000万条左右导致查询速度慢
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
5月前
|
域名解析 Serverless API
函数计算产品使用问题之如何配置自定义域名访问OSS中的内容
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
对象存储 异构计算
通过OSS直接上传数据到DSW实例
目前DSW实例不支持通过公网的方式直接下载数据,目前官方的建议:数据上传下载,对于小文件(文件不超过300M),建议直接使用DSW前端工具上传下载;对于大文件,建议使用挂载NAS,然后使用FTP的形式完成上传下载。
2280 1
|
5月前
|
机器学习/深度学习 人工智能 专有云
人工智能平台PAI使用问题之怎么将DLC的数据写入到另一个阿里云主账号的OSS中
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
29天前
|
分布式计算 Java 开发工具
阿里云MaxCompute-XGBoost on Spark 极限梯度提升算法的分布式训练与模型持久化oss的实现与代码浅析
本文介绍了XGBoost在MaxCompute+OSS架构下模型持久化遇到的问题及其解决方案。首先简要介绍了XGBoost的特点和应用场景,随后详细描述了客户在将XGBoost on Spark任务从HDFS迁移到OSS时遇到的异常情况。通过分析异常堆栈和源代码,发现使用的`nativeBooster.saveModel`方法不支持OSS路径,而使用`write.overwrite().save`方法则能成功保存模型。最后提供了完整的Scala代码示例、Maven配置和提交命令,帮助用户顺利迁移模型存储路径。
|
4月前
|
存储 机器学习/深度学习 弹性计算
阿里云EMR数据湖文件系统问题之OSS-HDFS全托管服务的问题如何解决
阿里云EMR数据湖文件系统问题之OSS-HDFS全托管服务的问题如何解决

热门文章

最新文章

  • 1
    DataWorks操作报错合集之DataWorks任务异常 报错: GET_GROUP_SLOT_EXCEPTION 该怎么处理
    111
  • 2
    DataWorks操作报错合集之DataWorksUDF 报错:evaluate for user defined function xxx cannot be loaded from any resources,该怎么处理
    108
  • 3
    DataWorks操作报错合集之在DataWorks中,任务流在调度时间到达时停止运行,是什么原因导致的
    106
  • 4
    DataWorks操作报错合集之DataWorks ODPS数据同步后,timesramp遇到时区问题,解决方法是什么
    93
  • 5
    DataWorks操作报错合集之DataWorks配置参数在开发环境进行调度,参数解析不出来,收到了 "Table does not exist" 的错误,该怎么处理
    95
  • 6
    DataWorks操作报错合集之DataWorks中udf开发完后,本地和在MaxCompute的工作区可以执行函数查询,但是在datawork里报错FAILED: ODPS-0130071:[2,5],是什么原因
    103
  • 7
    DataWorks操作报错合集之DataWorks提交失败: 提交节点的源码内容到TSP(代码库)失败:"skynet_packageid is null,该怎么解决
    118
  • 8
    DataWorks操作报错合集之DataWorks在同步mysql时报错Code:[Framework-02],mysql里面有个json类型字段,是什么原因导致的
    151
  • 9
    DataWorks操作报错合集之DataWorks集成实例绑定到同一个vpc下面,也添加了RDS的IP白名单报错:数据源配置有误,请检查,该怎么处理
    88
  • 10
    DataWorks操作报错合集之在 DataWorks 中运行了一个 Hologres 表的任务并完成了执行,但是在 Hologres 表中没有看到数据,该怎么解决
    126