Sha*_*nio 4 sql ddl amazon-athena
我在 AWS Athena 中有一个大的嵌套结构。表中有一列名为“petowners”:
{_id=5e6b531a412345e0e86aeae0, status=NotAnalyzed, animalcategories=[{categoryname=mammals, matches=1}, {categoryname=birds, matches=2}, {categoryname= UnknownField, matches=4}], ...many-other-values}
Run Code Online (Sandbox Code Playgroud)
我在找:
value_counts专栏中的python 函数。这意味着我正在寻找将为该行输出的 SQL Athena 命令:[mammals:1, birds:2, UnknownField:4] row = 7UnknownField“动物类别”这是解决方案的开始:让我们将该表称为“entire_table”
SELECT t.entire_table._id,
t.petowners.animalcategories,
ac.categoryname,
ac.matches
FROM entire_table t, UNNEST(t.petowners.animalcategories) AS t(ac)
Run Code Online (Sandbox Code Playgroud)
此查询将输出一个表,其中包含名为“categoryname”和“matches”的列,其中每行重复的类别名称与每个 user_id 的类别名称相同:
| _id | 动物类别 | 类别名称 | 比赛|
|--------------------------|---------------------- -------------------------------------------------- ---------------------------------------------------|---------- ----|---------|
| 5e6b531a412345e0e86aeae0 | [{categoryname=哺乳动物,matches=1},{categoryname=鸟类,matches=2},{categoryname= UnknownField,matches=4}] | 哺乳动物 | 1 |
| 5e6b531a412345e0e86aeae0 | [{categoryname=哺乳动物,matches=1},{categoryname=鸟类,matches=2},{categoryname= UnknownField,matches=4}] | 鸟类 | 2 |
| 5e6b531a412345e0e86aeae0 | [{categoryname=哺乳动物,matches=1},{categoryname=鸟类,matches=2},{categoryname= UnknownField,matches=4}] | 未知领域 | 4 |
以下是启用该解决方案的最相关链接(按重要性顺序排列):
在深入研究的过程中,我遇到了一些不太有用的链接,我认为这些链接值得一提,为了进行彻底的审查,我将它们添加到此处:
我希望有一天有人会发现这篇文章很有用,并通过几个小时的浏览网络找到我必须经历的答案的捷径。祝你好运。