Photo by Johannes Plenio from Pexels
有时候,为了方便运营,一个栏位需要配置多种源数据。
不同数据源的更新方式或频率会有所不同,而且是由不同的人来维护的。
为了前端接口的简洁性,需要将多种数据汇总到一张表中。
这种时候,可以选择将数据post到数据接收方,这样就能很方便地汇总多种源数据。
近来我也碰到这种情况,需要使用Spark将数据post给对方。下面介绍下我的方案。
第一步:将数据转化为json字符串格式
先将数据按要求转成Map类型,key与value都需要和数据接收方约定好,不然对方解析数据时就得不到想要的结果。
假设最终组装好的Map类型数据为x,接着需要将其转化为json字符串类型。
本文使用json4s工具包,并使用jackson支持,原生的支持在使用时报错,显示。
具体的使用方法如下:
第二步:使用httpClient Post数据
题外话,搜索关键词非常重要。
以前没接触过post,所以刚开始试着搜索 spark post、spark http post json data example、spark rest api post json、spark post jsdon data等关键词,但都没找到合适的材料。
但通过上述找到的资料,大概知道了可能使用httpClient,所以尝试着使用spark HttpClient post搜索,结果在第一页第二条就发现了关键资料(参考文未)。
所以在搜索时,若是前几页没查到想要的资料,那就得考虑是不是自己的搜索词有问题。
而且通常情况下,对于编程问题,使用英文搜索词比使用中文更容易查到解决方案。毕竟所有的编程语言都是以拉丁字母,而不是用中文进行编写的。
需要添加的依赖
参考资料
https://github.com/json4s/json4s/issues/43
https://www.programcreek.com/scala/org.apache.http.client.methods.HttpPost
https://stackoverflow.com/questions/29908297/how-can-i-convert-a-json-string-to-a-scala-map
领取专属 10元无门槛券
私享最新 技术干货