sparksession 文本和文本文件方法之间的区别?

Difference between sparksession text and textfile methods?

我正在使用 Spark scala shell 并尝试从文本文件创建数据框和数据集。

从文本文件中获取数据集,有两种选择,text 和 textFile 方法如下:

scala> spark.read.
csv   format   jdbc   json   load   option   options   orc   parquet   schema   table   text   textFile

以下是我如何通过这两种方法获取数据集和数据框:

scala> val df = spark.read.text("/Users/karanverma/Documents/logs1.txt")
df: org.apache.spark.sql.DataFrame = [value: string]

scala> val df = spark.read.textFile("/Users/karanverma/Documents/logs1.txt")
df: org.apache.spark.sql.Dataset[String] = [value: string]

所以我的问题是文本文件的两种方法有什么区别?

什么时候使用哪些方法?

我注意到它们几乎具有相同的功能,

只是spark.read.text将数据转换为Dataset,这是一个分布式数据集合,而spark.read.textFile将数据转换为Dataset[Type],它由组织成的数据集组成命名列。

希望对您有所帮助。