使用字符串列表在 Scala 中创建数据框
create dataframe in scala with List of strings
我的数据以 List[String] 的形式出现,其中每个字符串都是一行,列用逗号分隔。我必须创建一个数据框,以便我可以通过在其上创建视图来查询数据。
谁能指导我如何将其转换为 Dataframe。
List[String] = List([Table,EXTERNAL,hive,name1],[Table,EXTERNAL,hive,name2],[Table,EXTERNAL,hive,name3])
import spark.implicits._
val df = List("Table,EXTERNAL,hive,name1","Table,EXTERNAL,hive,name2","Table,EXTERNAL,hive,name3")
.map(_.split(",") match {
case Array(table, tableType, db, name) => (table, tableType, db, name)
})
.toDF("table", "type", "db", "name")
df.show()
df.printSchema()
打印:
+-----+--------+----+-----+
|table| type| db| name|
+-----+--------+----+-----+
|Table|EXTERNAL|hive|name1|
|Table|EXTERNAL|hive|name2|
|Table|EXTERNAL|hive|name3|
+-----+--------+----+-----+
root
|-- table: string (nullable = true)
|-- type: string (nullable = true)
|-- db: string (nullable = true)
|-- name: string (nullable = true)
我的数据以 List[String] 的形式出现,其中每个字符串都是一行,列用逗号分隔。我必须创建一个数据框,以便我可以通过在其上创建视图来查询数据。 谁能指导我如何将其转换为 Dataframe。
List[String] = List([Table,EXTERNAL,hive,name1],[Table,EXTERNAL,hive,name2],[Table,EXTERNAL,hive,name3])
import spark.implicits._
val df = List("Table,EXTERNAL,hive,name1","Table,EXTERNAL,hive,name2","Table,EXTERNAL,hive,name3")
.map(_.split(",") match {
case Array(table, tableType, db, name) => (table, tableType, db, name)
})
.toDF("table", "type", "db", "name")
df.show()
df.printSchema()
打印:
+-----+--------+----+-----+
|table| type| db| name|
+-----+--------+----+-----+
|Table|EXTERNAL|hive|name1|
|Table|EXTERNAL|hive|name2|
|Table|EXTERNAL|hive|name3|
+-----+--------+----+-----+
root
|-- table: string (nullable = true)
|-- type: string (nullable = true)
|-- db: string (nullable = true)
|-- name: string (nullable = true)