Импорт данных с использованием Spark Scala - PullRequest
0 голосов
/ 04 марта 2020

У меня большой набор данных, который я хочу импортировать в блоки данных, чтобы провести некоторую аналитику, используя scala. Набор данных доступен по этой ссылке: https://drive.google.com/open?id=1g4YYALk3nArN8bX2uFS70IpbdSf_Efqj

Я хочу импортировать этот набор данных таким образом, чтобы идентификатор документа находился в первом столбце, а другие тестовые данные - в другом. колонка.

Но когда я импортирую данные, используя следующий код, это выглядит так:

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

df.select("value").show()

enter image description here

Может ли кто-нибудь помочь мне импортировать это правильно? Любая помощь будет высоко ценится. Спасибо

Ответы [ 2 ]

4 голосов
/ 04 марта 2020

Это решит вашу проблему.

spark.read.option("sep", "\t").text("FileStore/tables/plot_summaries.txt")
3 голосов
/ 04 марта 2020

У вас есть данные с помощью табуляции, поэтому вам нужно предоставить внешний разделитель.

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 ...|
+----------+--------------------+
...