Я использую AWS EMR v5.29.0 Spark v2.4.4 и Scala v2.11.12.
Я читаю файл с помощью метода логической схемы и создаю фрейм данных с именами столбцов и типом данных столбца имя с кодом ниже
val df = spark.read.options(Map("inferSchema"->"true","header"->"true")).csv("s3://bucket-name/File_Name.csv")
val columnList = df.schema.fields.map(field => (field.name, field.dataType.typeName)).toList.toDF("column_name","datatype")
, когда я выполняю df.printSchema (), вывод будет таким, как показано ниже.
df.printSchema()
Output:
root
|-- ABC|EFG|IJK|LMN: string (nullable = true)
Когда я выполняю columnList.show (), вывод будет как ниже
+--------------------+--------+
| column_name|datatype|
+--------------------+--------+
|ABC|EFG|IJK|LMN | string|
+--------------------+--------+
, где требуется вывод, как показано ниже.
+---------------+--------+
|column_name |datatype|
+---------------+--------+
|ABC |string |
|EFG |string |
|IJK |string |
|LMN |string |
+---------------+--------+
С уважением
mahi