Как искать обновленные строки при использовании AWS Glue? - PullRequest
0 голосов
/ 25 января 2019

Я пытаюсь использовать Glue for ETL для данных, которые я перемещаю из RDS в Redshift.

Насколько мне известно, закладки Glue ищут только новые строки с использованием указанного первичного ключа и не отслеживают обновленные строки.

Однако в данных, с которыми я работаю, строки обновляются.часто, и я ищу возможное решение.Я немного новичок в pyspark, поэтому, если это возможно сделать в pyspark, я очень признателен за некоторые указания или точку в правильном направлении.Если есть возможное решение за пределами Spark, я бы тоже хотел его услышать.

1 Ответ

0 голосов
/ 26 января 2019

Вы можете использовать запрос, чтобы найти обновленные записи, отфильтровав данные в исходной базе данных JDBC, как показано в примере ниже. Я передал дату в качестве аргумента, чтобы при каждом запуске я мог получать только самые последние значения из базы данных mysql в этом примере.

query= "(select ab.id,ab.name,ab.date1,bb.tStartDate from test.test12 ab join test.test34 bb on ab.id=bb.id where ab.date1>'" + args['start_date'] + "') as testresult"

datasource0 = spark.read.format("jdbc").option("url", "jdbc:mysql://host.test.us-east-2.rds.amazonaws.com:3306/test").option("driver", "com.mysql.jdbc.Driver").option("dbtable", query).option("user", "test").option("password", "Password1234").load()
...