代码之家  ›  专栏  ›  技术社区  ›  student_R123

使用Spark Scala导入数据

  •  0
  • student_R123  · 技术社区  · 5 年前

    我有一个大数据集,我想导入到数据块中,用scala做一些分析。 https://drive.google.com/open?id=1g4YYALk3nArN8bX2uFS70IpbdSf_Efqj

    我想导入这个数据集,这样,文档ID在第一列,而其他测试数据在另一列。

    但是当我使用下面的代码导入数据时,看起来是这样的

    val df = spark.read.text("FileStore/tables/plot_summaries.txt")
    
    df.select("value").show()
    

    enter image description here

    有人能帮我用正确的方法把这个进口吗?任何帮助都将不胜感激。谢谢你

    1 回复  |  直到 5 年前
        1
  •  3
  •   Nikhil Suthar    5 年前

    您有带制表符的数据,因此需要在外部提供分隔符。

    scala> import org.apache.spark.sql.types._
    scala> val schema = new StructType().add("DocumentID", LongType, true).add("Description", StringType, true)
    
    scala> val df = spark.read.format("csv").option("delimiter", "\t").schema(schema).load("/plot_summaries.txt")
    
    scala> df.show(10)
    +----------+--------------------+
    |DocumentID|         Description|
    +----------+--------------------+
    |  23890098|Shlykov, a hard-w...|
    |  31186339|The nation of Pan...|
    |  20663735|Poovalli Induchoo...|
    |   2231378|The Lemon Drop Ki...|
    |    595909|Seventh-day Adven...|
    |   5272176|The president is ...|
    |   1952976|{{plot}} The film...|
    |  24225279|The story begins ...|
    |   2462689|Infuriated at bei...|
    |  20532852|A line of people ...|
    +----------+--------------------+
    
        2
  •  4
  •   Vijay    5 年前

    这会解决你的问题。

    spark.read.option("sep", "\t").text("FileStore/tables/plot_summaries.txt")
    
    推荐文章