我想从Spark v.1.6(使用scala)数据帧创建JSON。我知道这样做很简单df.toJSON
。
但是,我的问题看起来有些不同。例如,考虑具有以下列的数据框:
| A | B | C1 | C2 | C3 |
-------------------------------------------
| 1 | test | ab | 22 | TRUE |
| 2 | mytest | gh | 17 | FALSE |
我想最后有一个数据框
| A | B | C |
----------------------------------------------------------------
| 1 | test | { "c1" : "ab", "c2" : 22, "c3" : TRUE } |
| 2 | mytest | { "c1" : "gh", "c2" : 17, "c3" : FALSE } |
其中,C是含有JSON C1
,C2
,C3
。不幸的是,我在编译时不知道数据框是什么样子(除了列A
,列B
始终是“固定的”)。
至于我为什么需要这个的原因:我正在使用Protobuf发送结果。不幸的是,我的数据框有时具有比预期更多的列,并且我仍然会通过Protobuf发送这些列,但是我不想在定义中指定所有列。
我该如何实现?
Spark
2.1应该对此用例具有本机支持(请参阅#15354)。
import org.apache.spark.sql.functions.to_json
df.select(to_json(struct($"c1", $"c2", $"c3")))
问题内容: 我有一个工作正常,并从某些POCO返回JSON。我想将JSON作为字符串保存在数据库中。 我需要审核响应,因此要将其保存到数据库中。我很难找到一种将JSON作为字符串获取的方法。 任何帮助表示赞赏。 问题答案: 您正在寻找的类,它是由JsonResult内部使用:
问题内容: 我怎样才能投来? 问题答案: 您必须创建一个新的。
问题内容: 我仍然是Java的初学者,所以我对线程和并发的了解还很少。但是,由于java.util.Timer和TimerTask存在问题,我希望能够将ScheduledThreadPoolExecutor用作计时器。我对线程的创建非常感兴趣,并且知道我将在几周内学习它们。但是,如果可以的话,有人可以给我一个基本的示例,说明如何使用util.timer将当前的迷你测试程序转换为ScheduledT
更新:我已经尝试将getCalcMean()和calcMean;我理解这个错误的含义,但我不知道如何修复它,因为最终结果需要是double,我认为java可以计算double和int并得到double。我做错了什么? 我正在计算键入999后的总数平均值,但它一直显示为0,我不知道为什么。 有人能告诉我如何让我的getCalcMean()方法将平均值显示为numTotal/count吗? ---班级
我想把下面的代码转换成Java8s。
最近,我浏览了一些网站,将中缀转换成前缀符号,最后我被卷了起来。 我已经给出了我所做的步骤。。 例:-(1(2*3))(5*6)(7/8) 方法1:-(无需任何算法的手动转换):- 方法2:- 根据现场情况http://scanftree.com/Data_Structure/infix-to-prefix 所以,在这里我完全被绞死了。 请任何人提供以下方面的信息:- 关于我在以上2种方法中哪里出
我在MongoDB中使用Java驱动程序3.0,以便通过Web服务发送JSON。 当我想将文档对象(org.bson.文档)转换为JSON时,我使用,当我想将JSON转换为文档对象时,我使用。 但是,当我处理文档列表时(如JSON中所示:
问题内容: 我想将Intent的Extras Bundle转换为JSONObject,以便可以将其传递给JavaScript。 有没有快速或最佳的方法来进行此转换?如果不是所有可能的捆绑包都能正常工作,那就没关系了。 问题答案: 您可以用来获取捆绑软件包含的密钥列表。然后,您可以遍历这些键,并将每个键值对添加到中: 请注意,这将需要您抓住一个。 编辑: 有人指出,以前的代码不能很好地处理和键入。如