将数据放在下面的CSV文件中是格式。想要从 Desc
列中拆分 JSON,并使用键创建一个新列。将火花 2 与斯卡拉一起使用。
+------+------------+----------------------------------+
| id | Category | Desc |
+------+------------+----------------------------------+
| 201 | MIS20 | { "Total": 200,"Defective": 21 } |
+------+-----------------------------------------------+
| 202 | MIS30 | { "Total": 740,"Defective": 58 } |
+------+-----------------------------------------------+
输出:
So the desired output would be:
+------+------------+---------+-------------+
| id | Category | Total | Defective |
+------+------------+---------+-------------+
| 201 | MIS20 | 200 | 21 |
+------+----------------------+-------------+
| 202 | MIS30 | 740 | 58 |
+------+------------------------------------+
非常感谢任何帮助。
为您的内部< code>json创建一个< code >模式,并使用< code>from_json函数应用该模式,如下所示
val schema = new StructType()
.add(StructField("Total", LongType, false)).
add("Defective", LongType, false)
d.select($"id",$"Category", from_json($"Desc", schema).as("desc"))
.select($"id",$"Category", $"desc.*")
.show(false)
输出:
+---+--------+-----+---------+
|id |Category|Total|Defective|
+---+--------+-----+---------+
|201|MIS20 |200 |21 |
|202|MIS30 |740 |58 |
+---+--------+-----+---------+
希望这有帮助!
我尝试使用I forest https://github.com/titicaca/spark-iforest,的scala实现,但是当我构建时(就像README中报告的< code>mvn clean package),它给我这些错误: 有人知道为什么吗?谢谢 scala版本2.11.12 火花版本2.4.0 maven版本3.5.2 我修改了pom.xml,调整了scala、spark和mav
如何将多个列对分解为多行? 我有一个包含以下内容的数据帧 我想要一个最终的数据帧,如下所示 我试着使用下面的代码,但是它返回了4条记录,而不是我想要的两条记录
我有这个json 我想生成两个变量,比如 它们在和 我读过这篇文章,但它只适用于地图,但我的json是嵌套json。我怎样才能得到结果?
问题内容: 我需要使用javascript根据键值合并两个json对象。 我有两个不同的变量g和c。 术语:所有值都需要合并。 我尝试了以下代码:但我合并在’c’变量中具有相同ID的内容。但是我需要合并比较“ g”和“ c”。 预期产量: 问题答案: 如果ID中不存在ID,您忘了推入第一个循环;如果ID中不存在该对象的一个或多个ID,您忘了循环遍历。
问题内容: 我试图根据该行的单元格中的值将其分为两行。例如,我具有以下表结构(这是一个临时表,没有任何键,索引或任何其他内容,我可以在另一个临时表中选择拆分结果): 然后,应将其拆分为: 问题答案: 我将使用