2020-08-08:有一批气象观测站,现需要获取这些站点的观测数据,并存储到 Hive 中。但是气象局只提供了 api 查询,每次只能查询单个观测点。那么如果

福大大架构师每日一题 2020-08-08 07:41:33
2020-08-08:有一批气象观测站,现需要获取这些站点的观测数据,并存储到 Hive 中。但是气象局只提供了 api 查询,每次只能查询单个观测点。那么如果能够方便快速地获取到所有的观测点的数据?
...全文
6832 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
牧牛童子 2020-08-09
  • 打赏
  • 举报
回复
引用 楼主 福大大架构师每日一题 的回复:
2020-08-08:有一批气象观测站,现需要获取这些站点的观测数据,并存储到 Hive 中。但是气象局只提供了 api 查询,每次只能查询单个观测点。那么如果能够方便快速地获取到所有的观测点的数据?
之所以让你每次只能查一个点的数据,目的是防止大量数据泄漏,这是从安全角度出发的。
hashcon 2020-08-08
  • 打赏
  • 举报
回复
那感觉最好用 Hive 的 UDF(User Define Function)功能,将调用api写入UDF的逻辑中。这样能利用Hive的分布式能力。例如: 定义UDF: package test; public class GetWeatherDataUDF extends UDF { public String evaluate(String param) { return getFromApi(param);//调用api } } 之后打包发布到Hive,定义这个UDF: CREATE TEMPORARY FUNCTION GetWeather AS 'test.GetWeatherDataUDF'; 最后就可以使用这个函数了,例如某个表的一列就是所有的参数: select GetWeather(param) from one_table;
孤独的海啊 2020-08-08
  • 打赏
  • 举报
回复
只有一个api只能写个for循环咯。 气象局如果不限速的话,多线程请求,存在本地,在本地自己想怎样就怎样了。

50,545

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧