2017-08-29 28 views
6

po prostu uruchomić bardzo proste zadanie następującoAWS Klej zajmuje dużo czasu, aby zakończyć

glueContext = GlueContext(SparkContext.getOrCreate()) 
l_table = glueContext.create_dynamic_frame.from_catalog(
      database="gluecatalog", 
      table_name="fctable") 
l_table = l_table.drop_fields(['seq','partition_0','partition_1','partition_2','partition_3']).rename_field('tbl_code','table_code') 
print "Count: ", l_table.count() 
l_table.printSchema() 
l_table.select_fields(['trans_time']).toDF().distinct().show() 
dfc = l_table.relationalize("table_root", "s3://my-bucket/temp/") 
print "Before keys() call " 
dfc.keys() 
print "After keys() call " 
l_table.select_fields('table').printSchema() 
dfc.select('table_root_table').toDF().where("id = 1 or id = 2").orderBy(['id','index']).show() 
dfc.select('table_root').toDF().where("table = 1 or table = 2").show() 

Struktura danych jest prosta zbyt

root 
|-- table: array 
| |-- element: struct 
| | |-- trans_time: string 
| | |-- seq: null 
| | |-- operation: string 
| | |-- order_date: string 
| | |-- order_code: string 
| | |-- tbl_code: string 
| | |-- ship_plant_code: string 
|-- partition_0 
|-- partition_1 
|-- partition_2 
|-- partition_3 

Kiedy uruchomić testu pracy, zajęło wszędzie od Od 12 do 16 minut do końca. Ale dziennik kontroli w chmurze pokazał, że zadanie zajęło 2 sekundy, aby wyświetlić wszystkie moje dane.

Moje pytania brzmią: Gdzie praca AWS Glue może spędzać czas poza rejestracją i co robi poza okresem logowania?

Odpowiedz

4

Poświęcenie czasu na skonfigurowanie środowiska, które pozwala na uruchomienie kodu. Miałem ten sam problem, skontaktowałem się z zespołem AWS GLUE i byli pomocni. Powodem, dla którego zajmuje to dużo czasu, jest to, że GLUE buduje środowisko, gdy uruchamiasz pierwsze zadanie (które pozostaje aktywne przez 1 godzinę), jeśli uruchomisz ten sam skrypt dwa razy lub jakikolwiek inny skrypt w ciągu jednej godziny, następne zadanie zajmie znacznie mniej czasu . Nazywają to zimnym początkiem, kiedy uruchamiasz pierwszy scenariusz. Pierwszą pracę zajęło mi 17 minut, ponownie wykonałem tę samą pracę zaraz po zakończeniu pierwszej i zajęło to tylko 3 minuty.

0

Podczas wykonywania czynności edycji pracy można dodać więcej jednostek DPU w sekcji "Biblioteki skryptów i parametry pracy (opcjonalnie)". Pomaga niektórym, ale nie spodziewaj się większych ulepszeń, moje doświadczenie.