【发布时间】:2017-07-07 16:11:29
【问题描述】:
我正在尝试将文件加载到 spark 中。 如果我将普通的 textFile 加载到 Spark 中,如下所示:
val partFile = spark.read.textFile("hdfs://quickstart:8020/user/cloudera/partfile")
结果是:
partFile: org.apache.spark.sql.Dataset[String] = [value: string]
我可以在输出中看到一个数据集。但是如果我加载一个 Json 文件:
val pfile = spark.read.json("hdfs://quickstart:8020/user/cloudera/pjson")
结果是一个带有现成架构的数据框:
pfile: org.apache.spark.sql.DataFrame = [address: struct<city: string, state: string>, age: bigint ... 1 more field]
Json/parquet/orc 文件具有架构。所以我可以理解这是 Spark version:2x 的一个特性,它使事情变得更容易,因为在这种情况下我们直接获得了一个 DataFrame,而对于一个普通的 textFile,你会得到一个没有有意义的模式的数据集。 我想知道的是如何将模式添加到数据集,这是将 textFile 加载到 spark 中的结果。对于 RDD,有 case class/StructType 选项来添加模式并将其转换为 DataFrame。 谁能告诉我该怎么做?
【问题讨论】:
标签: apache-spark