首页 > 解决方案 > 每个 avro 记录的 Apache Spark 字节大小

问题描述

我有数百 GB 的 Avro 文件,每个文件都包含数千条与移动应用程序及其使用有关的记录。架构中的键之一是应用程序版本 ID,我需要返回按版本 ID 分组的每条记录的字节大小。如果架构是这样设置的......

 root
 |-- useId: string (nullable = true)
 |-- useTime: double (nullable = true)
 |-- appVersion: string (nullable = true)
 |-- useDetails: array (nullable = true)
 |    |-- element: struct (containsNull = true)
 |    |    |-- type: integer (nullable = true)
 |    |    |-- something: double (nullable = true)
 |    |    |-- somethingElse: double (nullable = true)
 .
 .
 .

...然后我想基本上做一些事情select appVersion, sum(bytesPerRecord) from df group by appVersion,以衡量每个已发布版本的应用程序的有效负载大小(或字符数,甚至)。我还没有找到任何现成的解决方案,我也不是火花专家。这可能吗?

标签: apache-sparkpysparkavro

解决方案


推荐阅读