Mysql
 sql >> база данни >  >> RDS >> Mysql

Условието за натискане на предикат на AWS Glue няма ефект

Изтласкващият предикат работи само за разделяне на колони. С други думи, вашите файлове с данни трябва да бъдат поставени в йерархично структурирани папки. Например, ако данните се намират в s3://bucket/dataset/ и разделени по година, месец и ден, тогава структурата трябва да бъде следната:

s3://bucket/dataset/year=2018/month=7/day=18/<data-files-here>

В такъв случай предикатът за натискане надолу ще работи за колони year , month и day само:

datasource = glueContext.create_dynamic_frame_from_catalog(
    database = source_catalog_db, 
    table_name = source_catalog_tbl, 
    push_down_predicate = "year = 2017 and month > 6 and day between 3 and 10", 
    transformation_ctx = "datasource")

Освен това трябва да имате предвид, че предикатите за натискане надолу работят само с източници на данни s3.

Ето една хубава публикация в блог написано от разработчиците на AWS Glue относно разделянето на данни.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL Конвертиране на низ към дата Изчислете възрастта и подредете по възраст

  2. Django mysql грешка

  3. Условно в MYSQL клауза where

  4. Дължина на индекса на MySQL varchar

  5. MySQL избира конкретен запис от таблица, която не е в друга таблица