Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在AWS Glue中将JSON关联到平面结构_Python_Amazon Web Services_Pyspark_Spark Dataframe_Aws Glue - Fatal编程技术网

Python 如何在AWS Glue中将JSON关联到平面结构

Python 如何在AWS Glue中将JSON关联到平面结构,python,amazon-web-services,pyspark,spark-dataframe,aws-glue,Python,Amazon Web Services,Pyspark,Spark Dataframe,Aws Glue,尝试展平具有两个映射/字典字段(custom_event1和custom_event2)的输入JSON数据,这两个字段可能包含任何键值对数据。为了从数据帧创建输出表,必须避免自定义_事件的扁平化,并将其作为JSON字符串存储在列中 在doc之后,Relationalize.apply也在展平自定义事件映射 Sample JSON: { "id": "sklfsdfskdlfsdfsdfkhsdfssdf", "idtype": "cookieId", "event":

尝试展平具有两个映射/字典字段(custom_event1和custom_event2)的输入JSON数据,这两个字段可能包含任何键值对数据。为了从数据帧创建输出表,必须避免自定义_事件的扁平化,并将其作为JSON字符串存储在列中

在doc之后,Relationalize.apply也在展平自定义事件映射

Sample JSON:

{
    "id": "sklfsdfskdlfsdfsdfkhsdfssdf",
    "idtype": "cookieId",
    "event": "install",
    "sub_event": null,
    "ip": "XXXXXX",
    "geo": {
        "country": "IN",
        "city": null,
        "region": null
    },
    "carrier": {
        "operator": null,
        "network": null,
        "connection_type": null
    },
    "user_agent": "Mozilla/5.0",
    "device": {
        "brand": "LYF",
        "model": null,
        "type": null
    },
    "package": {
        "pkgName": "XXXXXXXX",
        "pkgVersion": "1.5.6.3",
        "pkgRating": null,
        "timestamp": "2017-12-14 11:51:27"
    },
    "custom_event1": {
        "key1": "value1",
        "key2": "value2"
    },
    "custom_event2": {
        "key": "value"
    }
}

如何在关系存储中使用动态映射字段存储JSON数据?

假设JSON数据在S3中,则需要执行以下步骤

  • 在AWS Glue中创建一个爬虫程序,并让它在目录(数据库)中创建一个模式。假设您对AWS胶水有点熟悉

  • 创建一个粘合作业,将JSON转换为您喜欢的格式(拼花),使用转换步骤使用Rationalize类展平数据- 并写入拼花格式

  • 为新的展平数据创建爬虫,并在aws中创建表

  • 使用Athena或AWS Quick sight或您喜爱的BI工具查询拼花地板数据


  • 我遇到了一个类似的问题,并根据文档为JSON文件创建了一个分类器


    当我执行爬虫程序时,我添加了分类器,就像魔术一样,所有JSON结构都存储在一个关系模型中,存储在一个红移集群数据库中。

    欢迎使用。虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,则仅链接的答案可能无效。查看链接已过期@haroon这是链接