【问题标题】:Convert json to dataframe in order of which column listed first in json file using spark/scala使用 spark/scala 按照 json 文件中首先列出的列的顺序将 json 转换为数据框
【发布时间】:2021-09-22 14:10:03
【问题描述】:

我正在使用 spark/scala 将我的 json 转换为数据框。 例如下面是json

我希望我的数据框按顺序打印出以下内容(目前按字母顺序打印)

使用终端进行转换: val df_in=spark.read.option("multiLine","true").json("/Users/testfile/tests.json") df_in.show()

当我运行上面的代码时,它会将 json 文件转换为 df,但不是按照我想要的顺序 - 有没有办法在我的 json 文件中按列的顺序打印出 首先列出的列

【问题讨论】:

    标签: json scala dataframe apache-spark apache-spark-sql


    【解决方案1】:

    您可以定义一个模式并在读取文件时使用它。

    val schema="FirstName STRING,LastName STRING,MiddleName STRING,username STRING,password STRING"
    
    val df_in=spark.read.option("multiLine","true").schema(schema).json("/Users/testfile/tests.json")
    
    

    如果您指定架构,它也会避免额外的扫描。

    【讨论】:

      【解决方案2】:

      您还可以使用列的选择和选择

      df = df.select("FirstName", "LastName", "MiddleName", "username" "password").show()
      

      【讨论】:

        猜你喜欢
        • 2020-02-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-14
        • 1970-01-01
        • 2020-04-04
        • 2017-06-11
        相关资源
        最近更新 更多