【MaxCompute 常见问题】 外部表

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 使用 OSS 外部表怎么样将多个小文件,输出为一个文件?查看 Logview 日志,看 SQL 的执行计划,看最后一个是 Reducer 还是 Joiner, 如果是 Reducer 则设置参数为 set odps.stage.reducer.num=1, 如果是 Joiner,则设置为 set odps.stage.joiner.num =1。

外部表


MaxCompute OSS 外部表使用相关问题


1. MaxCompute将查询出来的数据写入到 oss (MaxCompute 的外部表),能控制生成的数量吗?

可以设置单个 Worker 读取MaxCompute 表数据的大小。可以参考一下 UNLOAD命令。


2. 创建外部表报错,AccessDenied The bucket you access does not belong to you.

MaxCompute外部表直接访问 OSS 的数据,需要您事先将 OSS 的数据相关权限赋给 MaxCompute 的访问账号,授权文档考。


3. MaxCompute中如何使用 OSS 外部表读取 JSON 数据?

可参考本篇实践内容进行操作。


4. 基于外部表执行 SQL 作业时,运行慢,如何解决?

基于外部表执行 SQL 作业时,运行慢的常见情况如下:

  • OSS 外部表中的 GZ 压缩文件读取慢
  • 问题现象用户创建了一个 OSS 外部表,数据源为 OSS 中的GZ 压缩文件,大小为 200 GB。在读取数据过程中执行缓慢。
  • 产生原因由于 Map 端执行计算的 Mapper 数量过少,所以 SQL 处理慢。
  • 解决措施
  • 对于结构化数据,您可以设置以下参数调整单个 Mapper 读取数据量的大小,加速 SQL 执行。 set odps.sql.mapper.split.size=256; #调整每个Mapper 读取 Table 数据的大小,单位是 MB
  • 对于非结构化数据,您需要查看 OSS 外部表路径下的 OSS 文件是否只有 1 个。如果只有 1 个,由于压缩方式下的非结构化数据不支持拆分,所以只能生产 1 Mapper,导致处理速度较慢。建议您在 OSS 对应的外部表路径下,将 OSS 大文件拆分为小文件,从而增加读取外部表生成的Mapper 数量,提升读取速度。
  • 使用 SDK 搜索 MaxCompute 外部表数据速度慢
  • 问题现象使用 SDK 搜索 MaxCompute 外部表数据速度慢。
  • 解决措施外部表仅支持全量搜索,所以较慢,建议您改用 MaxCompute 内部表。
  • 查询外部表 Tablestore 数据慢
  • 问题现象查询外部表 Tablestore 的数据慢,同样的业务数据,1 个实时写入 Tablestore1 个定时写入MaxCompute,两个表结构和数据量一样。查询 MaxCompute 内部表耗时远小于查询 Tablestore 外部表。
  • 解决措施这种情况可能是对 1 份数据进行了多次计算,导致速度慢。相比每次从 Tablestore 远程读取数据,更高效快速的方法是先一次性把需要的数据导入到 MaxCompute 内部,转为MaxCompute 内部表,再进行查询。


5.  使用 OSS 外部表怎么样将多个小文件,输出为一个文件?

查看 Logview 日志,看 SQL 的执行计划,看最后一个是 Reducer 还是 Joiner, 如果是 Reducer 则设置参数为 set odps.stage.reducer.num=1, 如果是 Joiner,则设置为 set odps.stage.joiner.num =1


>>快来点击免费下载《阿里云MaxCompute百问百答》了解更多详情!<<


相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
相关文章
|
6月前
|
机器学习/深度学习 分布式计算 DataWorks
MaxCompute产品使用合集之MaxCompute读取外部表的速度较慢,有什么方法来提升读取速度
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
6月前
|
SQL 分布式计算 DataWorks
DataWorks常见问题之maxcompute资源打开失败如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
6月前
|
存储 SQL 分布式计算
数据计算MaxCompute读取外部表(数据在oss gz压缩)速度非常慢,有什么方法可以提升效率么?
数据计算MaxCompute读取外部表(数据在oss gz压缩)速度非常慢,有什么方法可以提升效率么?
99 1
|
6月前
|
存储 分布式计算 大数据
大数据计算MaxComputerds外部表是不是不能创建分区的?
大数据计算MaxComputerds外部表是不是不能创建分区的?
66 0
|
5月前
|
SQL 分布式计算 关系型数据库
实时数仓 Hologres产品使用合集之湖仓加速版查询maxcompute外部表,有什么优化途径吗
实时数仓Hologres的基本概念和特点:1.一站式实时数仓引擎:Hologres集成了数据仓库、在线分析处理(OLAP)和在线服务(Serving)能力于一体,适合实时数据分析和决策支持场景。2.兼容PostgreSQL协议:Hologres支持标准SQL(兼容PostgreSQL协议和语法),使得迁移和集成变得简单。3.海量数据处理能力:能够处理PB级数据的多维分析和即席查询,支持高并发低延迟查询。4.实时性:支持数据的实时写入、实时更新和实时分析,满足对数据新鲜度要求高的业务场景。5.与大数据生态集成:与MaxCompute、Flink、DataWorks等阿里云产品深度融合,提供离在线
|
6月前
|
SQL 分布式计算 大数据
MaxCompute产品使用合集之自建的mysql是否支持外部表
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
3月前
|
存储 分布式计算 关系型数据库
实时数仓 Hologres产品使用合集之创建外部表时提示不支持ODPS的datetime数据类型,该怎么解决
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
|
4月前
|
分布式计算 大数据 数据挖掘
MaxCompute产品使用合集之如何解决MC通过外部表方式访问Hologres时,数据量达到3000万条左右导致查询速度慢
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
5月前
|
SQL 分布式计算 Java
MaxCompute操作报错合集之查询外部表insert到内部表报错,两表字段一致,是什么原因
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
|
5月前
|
存储 分布式计算 大数据
MaxCompute产品使用合集之是否支持创建OSS外部表为分区表,并访问OSS上以分区方式存储的数据
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。