如何在Spark中从文本文件创建DataFrame

拉胡尔

我在HDFS上有一个文本文件,我想将其转换为Spark中的数据框。

我正在使用Spark上下文加载文件,然后尝试从该文件生成单独的列。

val myFile = sc.textFile("file.txt")
val myFile1 = myFile.map(x=>x.split(";"))

完成此操作后,我正在尝试以下操作。

myFile1.toDF()

我遇到了一个问题,因为myFile1 RDD中的元素现在是数组类型。

我该如何解决这个问题?

扎克·祖哈尔

更新-从Spark 1.6开始,您可以简单地使用内置的csv数据源:

spark: SparkSession = // create the Spark Session
val df = spark.read.csv("file.txt")

您还可以使用各种选项来控制CSV解析,例如:

val df = spark.read.option("header", "false").csv("file.txt")

对于Spark版本<1.6:最简单的方法是使用spark-csv-将其包含在依赖项中并遵循README,它允许设置自定义定界符(;),可以读取CSV标头(如果有),并且可以推断出模式类型(需要额外扫描数据)。

另外,如果您知道该模式,则可以创建一个表示该模式的案例类,然后将RDD元素映射到该类的实例中,然后再转换为DataFrame,例如:

case class Record(id: Int, name: String)

val myFile1 = myFile.map(x=>x.split(";")).map {
  case Array(id, name) => Record(id.toInt, name)
} 

myFile1.toDF() // DataFrame will have columns "id" and "name"

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Spark从文本文件创建DataFrame

来自分类Dev

如何在Spark / Scala中从具有频率计数的文本文件创建双字母组?

来自分类Dev

如何在Linux中创建带有特定文本的文本文件?

来自分类Dev

如何在Linux中创建带有特定文本的文本文件?

来自分类Dev

如何在python代码中创建文件(默认情况下为文本文件)

来自分类Dev

如何在Linux下在文本文件中创建以行命名的文件

来自分类Dev

如何在Java Spark中读取文本文件并将其转换为数据集?

来自分类Dev

如何在 Spark 中读取多个文本文件进行文档聚类?

来自分类Dev

如何在Android中从文本文件创建二维数组?

来自分类Dev

如何在vbscript中创建文本文件并将其写入

来自分类Dev

如何在R中读取文本文件并创建数据框

来自分类Dev

如何在Maven中创建校验和,然后将其输出到文本文件?

来自分类Dev

如何在Swift 2中创建文本文件

来自分类Dev

如何在Lisp中创建和写入文本文件(续)

来自分类Dev

如何在Mac上的文本文件中创建ssh RSA私钥?

来自分类Dev

如何在C#中基于日期创建文本文件

来自分类Dev

如何在C#中从给定的文本文件创建2个单独的list <string>

来自分类Dev

如何在外部系统中创建文本文件

来自分类Dev

如何在Cmd的子目录中创建或更改文本文件?

来自分类Dev

如何从R中的列表创建自动文本文件?

来自分类Dev

如何从R中的列表创建自动文本文件?

来自分类Dev

如何从我创建的文本文件中读取结构?

来自分类Dev

如何在python的文本文件中读取数字?

来自分类Dev

如何在zip中打开unicode文本文件?

来自分类Dev

如何在终端中打开文本文件?

来自分类Dev

如何在PHP中设置文本文件编码?

来自分类Dev

如何在文本文件中填充方法的输出

来自分类Dev

如何在Matlab中读取多个文本文件?

来自分类Dev

如何在我的终端中编辑文本文件

Related 相关文章

  1. 1

    Spark从文本文件创建DataFrame

  2. 2

    如何在Spark / Scala中从具有频率计数的文本文件创建双字母组?

  3. 3

    如何在Linux中创建带有特定文本的文本文件?

  4. 4

    如何在Linux中创建带有特定文本的文本文件?

  5. 5

    如何在python代码中创建文件(默认情况下为文本文件)

  6. 6

    如何在Linux下在文本文件中创建以行命名的文件

  7. 7

    如何在Java Spark中读取文本文件并将其转换为数据集?

  8. 8

    如何在 Spark 中读取多个文本文件进行文档聚类?

  9. 9

    如何在Android中从文本文件创建二维数组?

  10. 10

    如何在vbscript中创建文本文件并将其写入

  11. 11

    如何在R中读取文本文件并创建数据框

  12. 12

    如何在Maven中创建校验和,然后将其输出到文本文件?

  13. 13

    如何在Swift 2中创建文本文件

  14. 14

    如何在Lisp中创建和写入文本文件(续)

  15. 15

    如何在Mac上的文本文件中创建ssh RSA私钥?

  16. 16

    如何在C#中基于日期创建文本文件

  17. 17

    如何在C#中从给定的文本文件创建2个单独的list <string>

  18. 18

    如何在外部系统中创建文本文件

  19. 19

    如何在Cmd的子目录中创建或更改文本文件?

  20. 20

    如何从R中的列表创建自动文本文件?

  21. 21

    如何从R中的列表创建自动文本文件?

  22. 22

    如何从我创建的文本文件中读取结构?

  23. 23

    如何在python的文本文件中读取数字?

  24. 24

    如何在zip中打开unicode文本文件?

  25. 25

    如何在终端中打开文本文件?

  26. 26

    如何在PHP中设置文本文件编码?

  27. 27

    如何在文本文件中填充方法的输出

  28. 28

    如何在Matlab中读取多个文本文件?

  29. 29

    如何在我的终端中编辑文本文件

热门标签

归档