Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Warunek naciskania predykatu AWS Glue nie ma żadnego wpływu

Predykat pushdown działa tylko w przypadku partycjonowania kolumn. Innymi słowy, Twoje pliki danych powinny być umieszczone w folderach o strukturze hierarchicznej. Na przykład, jeśli dane znajdują się w s3://bucket/dataset/ i podzielone według roku, miesiąca i dnia, struktura powinna wyglądać następująco:

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

W takim przypadku predykat pushdown zadziałałby dla kolumn year , month i day tylko:

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")

Poza tym musisz pamiętać, że predykaty pushdown działają tylko ze źródłami danych s3.

Oto fajny post na blogu napisany przez twórców AWS Glue o partycjonowaniu danych.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PDO - lastInsertId() do wstawiania zapytania z wieloma wierszami

  2. użyj tego samego wyzwalacza dla różnych tabel

  3. plik nie ładuje się w ajax php mysql

  4. mysql kolejność według wydania

  5. Geolokalizacja dużej liczby postów na podstawie adresów IP. (880 000 wierszy)