Стратегии предотвращения дублирования данных в хранилище данных SQL Azure - PullRequest
0 голосов
/ 12 декабря 2018

В данный момент я настраиваю хранилище данных SQL Azure.Я использую блоки данных для процесса ETL с JSON-файлами из хранилища BLOB-объектов Azure.

Как лучше не импортировать дублированные измерения или факты в хранилище данных SQL Azure?

Это может произойти для фактов, например, в случаеen исключение во время процесса загрузки.И для измерений это также может произойти, если я не проверю, какие данные уже существуют.Я использую следующий код для импорта данных в хранилище данных, и я не нашел «режима», который бы импортировал только те данные, которые еще не существуют:

spark.conf.set(
   "spark.sql.parquet.writeLegacyFormat",
   "true")

 renamedColumnsDf.write
     .format("com.databricks.spark.sqldw")
     .option("url", sqlDwUrlSmall)
     .option("dbtable", "SampleTable")
     .option( "forward_spark_azure_storage_credentials","True")
     .option("tempdir", tempDir)
     .mode("overwrite")
     .save()

1 Ответ

0 голосов
/ 12 декабря 2018

Вход в промежуточную таблицу, затем CTAS в таблицу фактов с предложением NOT EXISTS для устранения дубликатов.

...