AWS Glue Dynami c Соответствие столбца обновления кадра и схемы поискового робота - PullRequest
0 голосов
/ 08 февраля 2020

Я читал документацию AWS Glue и играл с сервисом, но я не могу понять эти 2 вещи:

  1. Могу ли я обновить все столбцы с одинаковым значением, используя Dynami c frame (аналогично запросу UPDATE ALL SQL) или есть способ сделать это через Spark SQL?
  2. У меня есть Crawler, который создал каталог данных из моей исходной базы данных в новой базе данных. Могу ли я установить флажок AWS Приклеить, изменилась ли схема исходной базы данных с момента создания каталога данных до момента планирования запуска задания?

Извинения, если мои вопросы кажутся глупо. Большое спасибо за помощь:)

1 Ответ

0 голосов
/ 11 февраля 2020
  1. Не уверен, как сделать это напрямую, используя динамические c кадры искры SQL, но это можно сделать с помощью DataFrames.
from pyspark.sql.functions import lit
from awsglue.dynamicframe import DynamicFrame

# Load dynamic_frame with data.
dynamic_frame = ...

# Convert to Spark DataFrame
df = dynamic_frame.toDF()

# Loop over columns and set records to a constant value, e.g. 999
for column in df.columns:
    df = df.withColumn(column, lit(999))

# Convert back to DynamicFrame
dynamic_frame = DynamicFrame.fromDF(df, glueContext, "dynamic_frame")
Мне не известна опция для отметки измененной схемы базы данных. Но вы можете создать что-то вроде этого сами: создайте простой скрипт, который читает флаг, который вы установили где-то, и пусть этот скрипт запускает сканер. Это можно сделать с помощью boto3 в Python или, например, с помощью aws cli.
...