如何转换如下数据以将数据存储在 ElasticSearch 中?
这是一个 bean 的数据集,我将按产品将其聚合到 JSON 数组中。
List<Bean> data = new ArrayList<Bean>();
data.add(new Bean("book","John",59));
data.add(new Bean("book","Björn",61));
data.add(new Bean("tv","Roger",36));
Dataset ds = spark.createDataFrame(data, Bean.class);
ds.show(false);
+------+-------+---------+
|amount|product|purchaser|
+------+-------+---------+
|59 |book |John |
|61 |book |Björn |
|36 |tv |Roger |
+------+-------+---------+
ds = ds.groupBy(col("product")).agg(collect_list(map(ds.col("purchaser"),ds.col("amount")).as("map")));
ds.show(false);
+-------+---------------------------------------------+
|product|collect_list(map(purchaser, amount) AS `map`)|
+-------+---------------------------------------------+
|tv |[[Roger -> 36]] |
|book |[[John -> 59], [Björn -> 61]] |
+-------+---------------------------------------------+
Run Code Online (Sandbox Code Playgroud)
这就是我想将其转换为:
+-------+------------------------------------------------------------------+
|product|json |
+-------+------------------------------------------------------------------+
|tv |[{purchaser: "Roger", amount:36}] |
|book |[{purchaser: "John", amount:36}, {purchaser: …Run Code Online (Sandbox Code Playgroud) 从这段代码:http://docs.oracle.com/javafx/2/swing/SimpleSwingBrowser.java.htm
我正在加载这个 html 页面:
<!DOCTYPE HTML>
<html>
<head>
<title>HTML5 AJAX Uploader</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<script type="text/javascript">
function allowDrop(ev) {
ev.preventDefault();
}
function drop(ev) {
ev.preventDefault();
console.log(JSON.stringify(ev.dataTransfer));
}
</script>
</head>
<body>
<div id="droparea"
style="border: 1px solid #000000; width: 100px; height: 100px;"
ondrop="drop(event)"
ondragover="allowDrop(event)">drop area</div>
</body>
Run Code Online (Sandbox Code Playgroud)
通常,我应该在“drop”函数中使用“files”属性不为空的json对象“ev.dataTransfer”,就像普通的webkit浏览器一样,然后进行上传(此处不存在)。
我应该用 Java 实现更多的东西吗?;(
各种帮助将不胜感激:)谢谢