每个Avro记录的Apache Spark字节大小

时间:2019-03-16 21:40:29

标签: apache-spark pyspark avro

我有几百个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的事情,以便评估每个已发布版本的应用程序的有效负载大小(甚至是字符数)。我还没有找到任何现成的解决方案,我也不是火花专家。这可能吗?

0 个答案:

没有答案