【问题标题】:How to save JSON data fetched from URL in PySpark?如何保存从 PySpark 中的 URL 获取的 JSON 数据?
【发布时间】:2017-01-24 05:57:29
【问题描述】:

我从 API 获取了一些 .json 数据。

import urllib2
test=urllib2.urlopen('url') 
print test

如何将其保存为表格或数据框?我正在使用 Spark 2.0。

【问题讨论】:

    标签: json apache-spark pyspark apache-spark-sql pyspark-dataframes


    【解决方案1】:

    这就是我成功将 .json 数据从网络导入到df 的方法:

    from pyspark.sql import SparkSession, functions as F
    from urllib.request import urlopen
    
    spark = SparkSession.builder.getOrCreate()
    
    url = 'https://web.url'
    jsonData = urlopen(url).read().decode('utf-8')
    rdd = spark.sparkContext.parallelize([jsonData])
    df = spark.read.json(rdd)
    

    【讨论】:

      【解决方案2】:

      为此,您可以进行一些研究并尝试使用 sqlContext。这是示例代码:-

      >>> df2 = sqlContext.jsonRDD(test)
      >>> df2.first()
      

      此外,访问线路并在此处查看更多内容, https://spark.apache.org/docs/1.6.2/api/python/pyspark.sql.html

      【讨论】:

        【解决方案3】:

        添加到 Rakesh Kumar 的答案,在 spark 2.0 中这样做的方法是:

        http://spark.apache.org/docs/2.1.0/sql-programming-guide.html#data-sources

        例如,以下基于 JSON 文件的内容创建一个 DataFrame:

        # spark is an existing SparkSession
        df = spark.read.json("examples/src/main/resources/people.json")
        # Displays the content of the DataFrame to stdout
        df.show()
        

        请注意作为 json 文件提供的文件不是典型的 JSON 文件。每行必须包含一个单独的、自包含的有效 JSON 对象。有关更多信息,请参阅 JSON 行文本格式,也称为换行符分隔的 JSON。因此,常规的多行 JSON 文件通常会失败。

        【讨论】:

          猜你喜欢
          • 2012-04-17
          • 1970-01-01
          • 2014-03-13
          • 1970-01-01
          • 2022-12-22
          • 1970-01-01
          • 2018-11-11
          • 1970-01-01
          相关资源
          最近更新 更多