开发者社区 > 大数据与机器学习 > 大数据计算 MaxCompute > 正文

请教下大数据计算MaxCompute,外部表,数据在OSS上的,两者读取上会有很大的差异吗?

请教下大数据计算MaxCompute,外部表,数据在OSS上的,一个是csv、一个是csv gz后的,两者读取上会有很大的差异吗?几百万行,30-40列,string的数据

展开
收起
真的很搞笑 2023-10-20 19:07:05 66 0
5 条回答
写回答
取消 提交回答
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    在大数据计算MaxCompute中,外部表是用于将数据存储在OSS上,并使用SQL语句进行查询和分析的一种方式。对于CSV格式和CSV GZ格式的数据,读取上会有一些差异。

    CSV格式的数据是以逗号分隔的文本文件,而CSV GZ格式的数据是经过gzip压缩的CSV文件。因此,在读取CSV GZ格式的数据时,需要先解压缩文件,这会增加一些处理时间。

    由于CSV格式的数据没有列名,因此在读取CSV格式的数据时,需要手动指定每一列的名称和类型。而在读取CSV GZ格式的数据时,可以使用第一行作为列名,从而简化了数据的解析过程。

    对于几百万行、30-40列、string类型的数据,无论是读取CSV格式还是CSV GZ格式的数据,都需要消耗一定的时间和资源。因此,建议在设计数据存储方案时,根据实际需求选择合适的格式和压缩方式,以提高数据处理效率。

    2023-10-22 21:10:34
    赞同 展开评论 打赏
  • 在MaxCompute中,外部表可以与存储服务OSS上的目录建立映射关系,通过这种方式访问OSS目录下的数据。无论是CSV格式的文件还是CSV.GZ格式的文件,MaxCompute都可以使用内置的文本数据解析器进行读取。

    CSV和CSV.GZ文件的主要区别在于压缩率和读取速度。CSV.GZ文件由于采用了压缩算法,文件大小较小,节省了存储空间和传输成本,但是读取时需要进行解压缩操作,因此读取速度可能会慢一些。相比之下,CSV文件的读取速度较快,但其文件大小通常较大。

    对于几百万行、30-40列、string类型的数据,由于其数据量并不巨大,因此在处理上,CSV和CSV.GZ格式的文件在MaxCompute的外部表中并没有明显的性能差异。无论是读取CSV还是CSV.GZ文件,MaxCompute的外部表都可以胜任。

    总的来说,选择何种格式的文件取决于具体的业务需求和环境配置。如果对数据的读取速度有较高要求或者存储空间较为紧张,可以选择CSV.GZ格式的文件;反之,如果对读取速度要求不高,而对存储空间的要求更低,可以选择CSV格式的文件。

    2023-10-22 15:17:16
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在MaxCompute中,读取外部表(External Table)时,MaxCompute会根据你创建外部表时指定的存储格式和数据源的特性来读取数据。因此,如果你创建外部表时指定了CSV格式,MaxCompute会按照CSV格式读取数据;如果你创建外部表时指定了CSV GZ格式,MaxCompute会按照CSV GZ格式读取数据。
    在读取几百万行、30-40列的string数据时,使用CSV格式和使用CSV GZ格式的差异可能会比较大。因为CSV GZ格式可以将数据压缩,从而减少数据传输的带宽和时间。但是,使用CSV GZ格式需要先解压缩数据,因此在读取数据时可能会比使用CSV格式慢一些。
    如果你的数据量很大,建议使用CSV GZ格式。如果你的数据量较小,建议使用CSV格式。另外,建议在创建外部表时指定合适的存储格式和数据源特性,以提高读取数据的效率和性能。

    2023-10-21 14:56:59
    赞同 展开评论 打赏
  • MaxCompute(ODPS)可以读取存储在阿里云对象存储服务OSS上的CSV和CSV.GZ文件。这两种格式的文件在读取时的主要区别在于压缩和解压的开销。

    对于CSV文件,MaxCompute可以直接读取,无需解压。而对于CSV.GZ文件,MaxCompute需要先解压,然后再读取数据。因此,如果你的数据量不大,或者数据本身就已经被压缩过了,那么使用CSV.GZ文件可能并不会带来太大的性能提升。

    另外,需要注意的是,无论使用哪种格式,MaxCompute都会先将整个文件读入内存,然后再进行解析和数据分发。因此,如果你的数据量非常大,可能需要考虑如何优化读取性能,例如使用分片或者分区等技术。

    总的来说,对于几百万行,30-40列,string的数据,使用CSV和CSV.GZ文件在MaxCompute中的读取性能可能会有一些差别,但可能并不会特别大。你应该根据实际的数据量和数据特性,以及系统的资源限制,来选择最合适的文件格式。

    2023-10-21 09:12:44
    赞同 展开评论 打赏
  • 没有差距,建表是按照格式加不同的参数就可以。 ,此回答整理自钉群“MaxCompute开发者社区2群”

    2023-10-20 19:50:27
    赞同 展开评论 打赏

MaxCompute(原ODPS)是一项面向分析的大数据计算服务,它以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。

相关产品

  • 云原生大数据计算服务 MaxCompute
  • 相关电子书

    更多
    OSS运维进阶实战手册 立即下载
    《OSS运维基础实战手册》 立即下载
    OSS运维基础实战手册 立即下载