Spark 3.0 允许使用新的数据源读取二进制数据:
val df = spark.read.format(“binaryFile”).load("/path/to/data")
使用以前的 spark 版本,您可以使用以下方式云加载数据:
val rdd = sc.binaryFiles("/path/to/data")
Dataset
除了可以选择使用高级 API(
Spark 3.0 允许使用新的数据源读取二进制数据:
val df = spark.read.format(“binaryFile”).load("/path/to/data")
使用以前的 spark 版本,您可以使用以下方式云加载数据:
val rdd = sc.binaryFiles("/path/to/data")
Dataset
除了可以选择使用高级 API(
我认为除了开发人员使用高级 API(Dataframe/Dataset)比低级(RDD)对数据有更多的控制之外,我认为没有任何额外的好处,而且他们不需要担心性能,因为它由高级 API 进行了很好的优化/管理由它自己。
参考 - https://spark.apache.org/docs/3.0.0-preview/sql-data-sources-binaryFile.html
PS - 我确实认为我的回答不符合正式回答的条件。我之前只想将其添加为评论但无法这样做,因为我还没有获得评论的特权.. :)