我想将下面的字符串变量转换为spark上的数据帧.
val jsonStr = "{ "metadata": { "key": 84896, "value": 54 }}"
Run Code Online (Sandbox Code Playgroud)
我知道如何从json文件创建数据帧.
sqlContext.read.json("file.json")
Run Code Online (Sandbox Code Playgroud)
但我不知道如何从字符串变量创建数据帧.
如何将json String变量转换为dataframe.
最近在kafka中使用spark Streaming处理数据。
应用程序启动并完成几批后,出现持续延迟。
大多数时候,数据处理在1-5秒内完成。
但经过几个批次后,连续耗时41~45秒,大部分延迟发生在从stage0取数据的区域。
我无意中发现 Kafka request.timemout.ms 设置默认为 40 秒,并将此设置更改为 10 秒。
然后我重新启动应用程序并观察到该批处理在 11 到 15 秒内完成。
实际处理时间为1-5秒。我无法理解这种延迟。
怎么了?
我的环境如下。
Spark流2.1.0(createDirectStream)
卡夫卡:0.10.1
批次间隔:20s
请求超时时间:10s
/////
以下截图是 request.timeout.ms 设置为 8 秒时的图表。
我目前正在开发REST API.
我正在开发一个返回与用户关联的产品的API,以及一个返回与产品关联的产品的API.
我不能确定如何配置URLpattern是正确的.
我认为含糊不清的是,在URL通过产品返回产品列表的情况下,产品被重复列出.
请告诉我一个好的URL模式.
我正在考虑以下选项.
1.
/domain/v1/relatedProducts/users/{userId}
/domain/v1/relatedProducts/products/{productId}
Run Code Online (Sandbox Code Playgroud)
2.
/domain/v1/user/{userId}/relatedProducts
/domain/v1/products/{productId}/relatedProducts
Run Code Online (Sandbox Code Playgroud)
3.请告知其他网址格式.
apache-spark ×2
scala ×2
apache-kafka ×1
api ×1
dataframe ×1
java ×1
json ×1
rest ×1
spring ×1
streaming ×1