【问题标题】:SQL query from SageMaker with Amazon Athena使用 Amazon Athena 从 SageMaker 进行 SQL 查询
【发布时间】:2018-10-08 13:08:53
【问题描述】:

我正在尝试使用 Athena 从 SageMaker 查询我的 s3 文件(JSON 格式)。 s3 位置如下所示:s3://name/year=2017/month=01/day=01。这里存储了一些我想用 Athena 查询的 JSON 文件。我创建了一个连接变量,接下来在变量 connection.execute("query") 我运行查询来创建表。

查询:

CREATE EXTERNAL TABLE testing (
id int

)    PARTITIONED BY (day string) ROW FORMAT  serde 'org.apache.hive.hcatalog.data.JsonSerDe' with serdeproperties ( 'paths'='id' ) LOCATION 's3://name/2018/07/';""")

接下来我运行 sql 查询:

df = pd.read_sql("SELECT * FROM default.testing WHERE day='01' LIMIT 10 ", conn)

之后我打印了 DataFrame 但我得到了一个 0 值。

JSON 看起来像这样:

{"shoe_number":43,"country_id":6.. etc

我错过了什么?

【问题讨论】:

    标签: amazon-web-services amazon-athena amazon-sagemaker


    【解决方案1】:

    您需要在创建表后执行MSCK REPAIR TABLE <table name>查询以自动发现指定表位置下的分区。 SELECT 之后的查询应该会提供预期的结果。

    ~巴尔加瓦

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-04
      • 1970-01-01
      相关资源
      最近更新 更多