java - Parquet 到 ElasticSearchwrite
问题描述
我的镶木地板格式是 id。JSON,其中 id 是弹性搜索的 id,我想将 JSON 放入弹性搜索中。下面是它的 os 片段。
+---+--------------------+
|key| value|
+---+--------------------+
| 6|{"FirstName":"pra...|
| 3|{"FirstName":["as...|
| 5|{"FirstName":"pra...|
| 4|{"FirstName":["pr...|
+---+--------------------+
我怎么能在Java中做到这一点?
解决方案
'''
Dataset<Row> ds =spark.read().parquet(path);
JavaPairRDD<String, String> jpRDD = ds.toJavaRDD().mapToPair(new PairFunction<Row, String, String>() {
public Tuple2<String, String> call(Row row) throws Exception {
return new Tuple2<String, String>((String) row.get(0), (String) row.get(1));
}
});
JavaEsSpark.saveToEsWithMeta(jpRDD,pathofESIndice,ImmutableMap.of("es.input.json","true"));
'''
推荐阅读
- c - libsodium crypto_box_seal_open 失败
- vue.js - 在 vuejs 组件的非命名插槽中从父级访问方法或属性
- random - 与随机字符串相比,UUID 或 GUID 的用途是什么?
- sql - sql server 中的内联用户定义函数
- python - 将值插入行类型的 Pyspark 中的 Hive 表
- c# - 使用 !dlk 命令调试死锁返回未知线程名称
- php - Laravel 5.7 登录重定向到 404 页面
- amazon-web-services - 如何使用根账户覆盖组织单位内的 AWS S3 存储桶策略
- java - FreeMarker:左侧操作数:预期为哈希,但这已评估为数字(包装器:ftSimpleNumber)
- javascript - Android 应用上的 Cordova 音量按钮功能