java - 替代已弃用的方法 sparksession.read.json(JavaRDD)
问题描述
我正在使用 sparksessions read().json 方法在将 json 文件转换为镶木地板文件之前读取它,它工作正常,但 .json(JAVARDD) 方法显示为已弃用的方法。我们可以为此提供替代方法吗?当前使用 java:spark 版本 2.4.3
我已经浏览了 spark 库的文档,但没有得到任何替代方法
JavaSparkContext sc1 = JavaSparkContext.fromSparkContext(SparkContext.getOrCreate());
JavaRDD<String> rddData = sc1.parallelize(data);
Dataset<Row> dataDF = spark.read().json(rddData);
这里 .json 方法显示为不推荐使用的方法?我们可以为此提供替代方法吗?
我已经完成了 如何在没有 SparkSQL 的情况下使用 fastxml 在 Spark 中解析 JSON?
在这里他们建议 SqlContext 方法,该方法也已被弃用。
需要知道 java spark.read().json(JAVARDD object) 中 .json 的替代方法
解决方案
似乎您所要做的就是将您的 rdd 转换为Dataset<String>
(如@RealSkeptic 建议的那样):
Dataset<Row> dataDF_spark24 = spark.read().json(spark.createDataset(rddData.rdd(), Encoders.STRING()));
或者,如果您没有通过 keep 绑定JavaRDD<String> rddData = ...
,则可以进一步简化:
Dataset<String> dfData = spark.createDataset(data, Encoders.STRING());
Dataset<Row> dataDF_spark24 = spark.read().json(dfData);
推荐阅读
- reactjs - 如何使用 IIS 授权部署 ASP.NET Core / React 应用程序?
- python - 如何处理 Tkinter 中的标签覆盖
- javascript - 我的异步请求不能在 express 中工作
- python - 将多值Django注释查询的结果渲染到html表中
- r - 最短路径函数在 R igraph 中返回错误路径
- python - 如何消除python init函数中的以下代码重复
- google-chrome - 使用 document.querySelector 在 Puppeteer 中双击
- docker - 如何找到 kubernetes pod/容器使用的实际 CPU 数量?
- javascript - 更新多个语义 ui 反应下拉键状态
- sass - CSS边距循环每次增加X量