【问题标题】:Query JSON file in Presto in S3在 S3 中的 Presto 中查询 JSON 文件
【发布时间】:2021-05-25 21:40:19
【问题描述】:

我在 S3 中有一个文件,Presto 在 EMR 上运行。我知道我可以使用 Json_extract 来读取 json。

我正在运行以下查询,但是,我一直看到 null 而不是正确的值。

select json_extract('s3a://random-s3-bucket/analytics/20210221/myjsonfile.json', '$.dateAvailability')

我看到了这个输出

不确定我的语法是否错误?想法?

【问题讨论】:

    标签: amazon-s3 presto trino json-extract


    【解决方案1】:

    json_extract() 对保存在内存中的 JSON 标量值进行操作。它不会从外部位置加载数据。有关使用示例,请参阅文档页面。

    为了使用 Trino (formerly known as Presto SQL) 查询 JSON 文件,您需要将其映射为 JSON 格式的表,如下所示:

    CREATE TABLE my_table ( .... )
    WITH (
        format = 'JSON',
        external_location = 's3a://random-s3-bucket/analytics/20210221'
    );
    

    Hive connector documentation查看更多信息。

    【讨论】:

      【解决方案2】:

      如果你需要一个工具来帮助你创建表语句,试试这个:https://www.hivetablegenerator.com

      从页面:

      轻松转换任何 JSON(甚至是复杂的嵌套)、CSV、TSV 或日志 示例文件添加到 Apache HiveQL DDL 创建表语句。

      【讨论】:

        猜你喜欢
        • 2020-01-15
        • 2019-07-03
        • 2022-11-23
        • 2023-03-17
        • 2020-09-21
        • 2021-07-27
        • 2023-03-16
        • 2014-05-16
        • 1970-01-01
        相关资源
        最近更新 更多