BigQuery使用UNNEST查询Crashlytics数据提示无法访问数组字段如何解决
BigQuery查询Crashlytics exception_message正确方案
错误根因
报错的核心原因是对Crashlytics同步到BigQuery的表结构理解偏差:exceptions字段本身就是ARRAY<STRUCT>类型,数组内的每一个元素才是包含type、exception_message、nested等属性的结构体,因此不能直接访问exceptions.exception_message,需要先把exceptions数组展开,再读取对应字段。
正确查询语句
SELECT exception.exception_message FROM `rollertoaster-235.firebase_crashlytics.com_rollertoaster_app_ANDROID`, UNNEST(exceptions) AS exception WHERE STARTS_WITH(issue_title, 'MyCrashFile.java') LIMIT 1000
可选优化
如果需要获取去重后的异常信息,可在SELECT后添加DISTINCT关键字,过滤重复的报错内容:
SELECT DISTINCT exception.exception_message FROM `rollertoaster-235.firebase_crashlytics.com_rollertoaster_app_ANDROID`, UNNEST(exceptions) AS exception WHERE STARTS_WITH(issue_title, 'MyCrashFile.java') LIMIT 1000
内容的提问来源于stack exchange,提问作者c_idle
相关产品推荐
相关产品推荐

