【发布时间】:2020-09-09 16:51:01
【问题描述】:
所以我开始学习如何使用 hive,但在查询我从 https://github.com/CSSEGISandData/COVID-19/tree/master/csse_covid_19_data/csse_covid_19_daily_reports 的数据集创建的表时遇到了麻烦
从我尝试查找的 5 个最近的 .csv 文件制作表格后: 1) 恢复最多的 10 个不同国家 2) 每个国家恢复最多的日期和 3) 是否有任何国家的恢复比活跃病例多。
我尝试了几种不同的方法,但我得到的最好的方法是 10 个列表,其中包含 3 或 4 个重复的国家/地区。
所以与其拥有类似的东西 英国, 英国, 英国, 英国, 巴西, 俄罗斯, ...
我想要英国、巴西、俄罗斯、美国...
我尝试过 order by、group by、distinct,但我不断收到错误/没有得到想要的结果。不确定它是否有所作为,但我一直在使用 Hadoop 创建一个包含如下查询的 .sql 文件。然后我会用 hive -f 运行它。
SELECT COUNTRY FROM COVID_19 ORDER BY COVID_19.CONFIRMED DESC LIMIT 10;
编辑 - 表是这样创建的:
CREATE EXTERNAL TABLE COVID_19(
`FIPS` bigint,
`admin2` string,
`province` string,
`country` string,
`last_update` string,
`lat` double,
`long_` double,
`confirmed` bigint,
`deaths` bigint,
`recovered` bigint,
`active` bigint,
`combined_key` string)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
STORED AS INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat'
OUTPUTFORMAT
'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION
*s3 bucket containing the csv files*
如前所述,链接中的数据用于制作表格。 5 个最新的 csv 文件。
【问题讨论】:
-
您好,摩根,如果您可以提供带有示例数据的表架构,这将有助于创建查询。目前尚不清楚您在数据集中的表格中使用了哪些字段。
标签: sql group-by hive sum greatest-n-per-group