Azure Synapse Link for Dataverse FAQ

Тази статия предоставя информация за често задавани въпроси относно експортирането на данни от таблици на Microsoft Dataverse в Azure Synapse Analytics и Azure Data Lake.

Мога ли ръчно да изпълнявам задачи като създаване, актуализиране, изтриване или задаване на правила за автоматично изтриване на файлове с данни в свързаното хранилище на Azure?

Файловете с данни не трябва да се променят от клиент и не трябва да се поставят клиентски файлове в папките с данни.

Бележка

За да пуснете остарели и застояли данни в езерото с данни, без да прекъсвате връзката на Azure Synapse, помислете за използване на функцията Заявка и анализирайте постепенните актуализации

Как мога да получа достъп до моите релации на масата?

За достъп до връзки много към много, връзката е достъпна като таблица за избор от страницата Добави таблици за нова връзка и от Управление на таблици за предварително съществуваща връзка.

Бележка

Всички данни за релации са в режим само за добавяне по подразбиране, когато са написани в CSV формат.

Azure Synapse Link е безплатна функция с Dataverse. Използването на Azure Synapse Link за Dataverse не води до допълнителни такси в Dataverse. Помислете обаче за потенциалните разходи за услугата Azure:

Какво се случва, когато добавя колона?

Когато добавите нова колона към таблица в източника, тя се добавя и в края на файла в местоназначението в съответния файлов дял. Въпреки че редовете, които са съществували преди добавянето на колоната, не се показват в новата графа, новите или актуализираните редове показват новодобавената колона.

Какво се случва, когато изтрия колона?

Когато изтриете графа от таблица в източника, графата не се изпуска от местоназначението. Вместо това редовете вече не се актуализират и се маркират като нулеви, като се запазват предишните редове.

Какво се случва, ако променя типа данни на колона?

Промяната на типа данни на колона е съществена промяна и трябва да прекратите връзката и да свържете отново.

Какво се случва, когато изтрия ред?

Изтриването на ред се обработва по различен начин в зависимост от избраните от вас опции за запис на данни:

  • Актуализация на място с CSV формат: Това е режимът по подразбиране. Когато изтриете ред на таблица в този режим, редът се изтрива и от съответния дял на данни в Azure Data Lake. С други думи, данните се изтриват твърдо от дестинацията.
  • Добавяне само с CSV формат и инкрементална актуализация на папка: В този режим, когато ред на таблица на Dataverse бъде изтрит, той не се изтрива твърдо от местоназначението. Вместо това се добавя ред и се задава като isDeleted=True файла в съответния дял на данни в Azure Data Lake.
  • Експортиране във формат Delta lake: Azure Synapse Link извършва меко изтриване на данни по време на следващия цикъл на синхронизиране на делта, последвано от твърдо изтриване след 30 дни.

Защо не виждам заглавие на колона в експортирания файл?

Azure Synapse Link следва общия модел на данни, за да направи възможно споделянето на данни и тяхното значение между приложения и бизнес процеси, като Microsoft Power Apps, Power BI, Dynamics 365 и Azure. Във всяка CDM папка метаданни като заглавка на колона се съхраняват във файла model.json. Повече информация: Common Data Model и Azure Data Lake Storage Gen2 | Microsoft Learn

Защо Model.json файлът се увеличава или променя дължината си за типовете данни и не запазва това, което е дефинирано в Dataverse?

Model.json запазва дължината на базата данни за размера на колоната. Dataverse има концепция за дължина на базата данни за всяка колона. Ако създадете колона с размер 200 и по-късно го намалите до 100, Dataverse все още позволява съществуващите ви данни да присъстват в Dataverse. Той прави това, като се придържа DBLength към 200 и MaxLength до 100. Това, което виждате в Model.json, е DBLength и ако го използвате за процеси надолу по веригата, никога няма да осигурите по-малко място за вашите колони в Dataverse.

Бележка

Полетата за бележки се дефинират като varchar(max) с максимална дължина по подразбиране 9999.

Какви формати за дата и час могат да се очакват в експортираните таблици на Dataverse?

Има три формата за дата и час, които могат да се очакват в експортираните таблици на Dataverse.

Име на колона Формат Тип данни Пример
SinkCreatedOn и SinkModifiedOn М/д/гггг В:мм:сс тт datetime 28.06.2021 г. 16:34:35 ч.
Създадено yyyy-MM-dd'T'HH:mm:ss.sssssXXX datetimeOffset 2018-05-25T16:21:09.0000000+00:00
Всички други колони yyyy-MM-dd'T'HH:mm:ss'Z' datetime 2021-06-25T16:21:12Z

Бележка

Типът данни CreatedOn е променен от datetime на datetimeOffset 29.07.2022 г. За да редактирате формата на типа данни за таблица, създадена преди промяната, оставете и добавете отново таблицата.

Можете да изберете различни поведения на колони за колона Дата и час в Dataverse, която актуализира формата на типа данни. Повече информация: Поведение и формат на колоната Дата и час

Защо виждам имена на файлове 1.csv или 1_001.csv вместо обикновените имена на разделени файлове с дата и час за някои таблици на Dataverse?

Това поведение се очаква, когато изберете режим на експортиране само за добавяне и имате таблици без валидна колона CreatedOn . Blob-овете са организирани във файлове като 1.csv, 2.csv (използвайки персонализирано разделяне поради липсата на валидна дата на създаване). Когато някой дял се доближи до 95% от MaxBlockPerBlobLimit, системата автоматично генерира нов файл – илюстриран тук като 1_001.csv.

Кога трябва да използвам годишна или месечна стратегия за разделяне?

За таблици на Dataverse, където обемът на данните е голям в рамките на една година, препоръчваме да използвате месечни дялове. Това води до по-малки файлове и по-добра производителност. Освен това, ако редовете в таблиците на Dataverse се актуализират често, разделянето на множество по-малки файлове помага за подобряване на производителността в случай на сценарии за актуализация на място. Delta Lake се предлага само с годишен раздел поради превъзходната си производителност в сравнение с CSV формата.

Какво е режим само на добавяне и каква е разликата между добавяне само и режим на актуализиране на място?

В режим само на добавяне допълнителните данни от таблиците на Dataverse се добавят към съответния файлов дял в езерото. За повече информация: Разширени опции за конфигуриране в Azure Synapse Link

Кога да използвам режима само за добавяне за исторически изглед на промените?

Режимът само за добавяне е препоръчителната опция за запис на данни от таблицата на Dataverse в езерото, особено когато обемите от данни са големи в дял с често променящи се данни. Отново, това е често използвана и силно препоръчителна опция за корпоративни клиенти. Освен това можете да изберете да използвате този режим за сценарии, при които намерението е постепенно да преглеждате промените от Dataverse и да обработвате промените за ETL, AI и ML сценарии. Режимът "Само добавяне" предоставя хронология на промените, вместо последната промяна или актуализация на място, и позволява няколко времеви серии от сценарии с изкуствен интелект, като например прогнозиране или прогнозиране на анализи въз основа на исторически стойности.

Как да извлека най-up-toреда от дата на всеки запис и да изключа изтритите редове, когато експортирам данни в режим само на добавяне?

В режим само на добавяне трябва да идентифицирате най-новата версия на записа със същия идентификатор и VersionNumberSinkModifiedOn след това да приложите isDeleted=0 към най-новата версия.

Защо виждам дублирани номера на версии, когато експортирам данни в режим само на добавяне?

За режим само на приложение, ако Azure Synapse Link for Dataverse не получи потвърждение от Azure data lake, че данните са били комитирани поради някаква причина, като забавяне в мрежата, Azure Synapse Link опитва отново в тези сценарии и отново комитира данните. Потреблението надолу по веригата следва да стане устойчиво на този сценарий чрез филтриране на данни с помощта SinkModifiedOnна .

Защо виждам разлики между колоните 'SinkModifiedOn' и 'ModifiedOn'?

Това е очаквано поведение. ModifiedOn е датата и времето, в които записът е бил последно променен в Dataverse, докато SinkModifiedOn е датата и времето, когато записът е записан в езерото на данните. SinkModifiedOn обикновено е по-късно от ModifiedOn, а разликата зависи от фактори като размер на партидата, натоварване на системата и броя на обработваните записи.

Важно

В случай на дългосрочни транзакции във финансови и оперативни приложения, записът може да бъде синхронизиран многократно, за да се гарантира липса на загуба на данни. В този случай отразява SinkModifiedOn последното време за синхронизация, а не първото. Например, ако запис се синхронизира 10 пъти в рамките на един час, SinkModifiedOn се показва времето на десетата синхронизация, въпреки че данните са били налични в езерото още от първия синхвърл. Бъдете внимателни при изготвяне на доклади за латентност, базирани на разликата между SinkModifiedOn и ModifiedOn, тъй като това може да създаде подвеждащо впечатление за реалната наличност на данните.

Кои таблици на Dataverse не се поддържат за експортиране?

Всяка таблица, за която не е активирано проследяване на промените, не се поддържа в допълнение към следните системни таблици:

  • Прикачен файл
  • Calendar
  • Календарно правило

Някои таблици на Dataverse, като postcomment, postregarding, postlike, post и postrole, не са достъпни за клиентите да активират синхронизация чрез Azure Synapse Link.

В някои случаи тези таблици могат да се появят, когато дългосрочното задържане в Dataverse е активирано. Ако това се случи, може да се експортира подмножество или всички записи от тези таблици. Това е очаквано поведение за сценарии на дългосрочно задържане.

Важно

  • Тези таблици не трябва да се избират за синхронизация.
  • Тяхното присъствие не показва пълна подкрепа за инкрементална синхронизация.

Бележка

Можете да добавите таблицата за проверка за експортиране с помощта на Azure Synapse Link за Dataverse. Експортирането на одитната таблица обаче се поддържа само с профили на Delta Lake.

Използвам функцията за експортиране в delta lake, мога ли да спра работата на Apache Spark или да променя времето за изпълнение?

Задачата за преобразуване на Delta Lake се задейства, когато е имало промяна на данните в конфигурирания интервал от време. Няма опция за спиране или спиране на басейна Apache Spark. Можете обаче да промените интервала от време след създаването на връзка под Управление на таблици > Разширен интервал от време.

Справочните колони се състоят от идентификатор и стойност. Търсените стойности се променят само в основната таблица. За да отразите по-добре стойността на справочна колона, препоръчваме да се присъедините към оригиналната основна таблица, за да получите най-новата стойност.

В Dataverse изчисляемите колони съхраняват само информацията за формулата и реалната стойност зависи от колоната на основната таблица. Така че изчисляемите колони се поддържат само когато всички колони се намират в една и съща експортирана таблица.

Кои таблици на Dataverse използват режим само за добавяне по подразбиране?

Всички таблици, които нямат поле createdOn, се синхронизират в режим само за добавяне по подразбиране. Това включва таблици за релации и таблицата ActivityParty.

Защо виждам съобщението за грешка - Съдържанието на директорията по пътя не може да бъде посочено?

  • Данните на Dataverse се съхраняват в свързания контейнер за съхранение. Имате нужда от ролята "Сътрудник на данни за BLOB за съхранение" в свързания акаунт за съхранение, за да извършвате операции за четене и заявки чрез Synapse Workspace.
  • Ако изберете да експортирате данни с формат Delta Lake, вашият CSV файл се почиства след преобразуването на Delta Lake. Трябва да поискате данни с non_partitioned таблици чрез работното пространство на Synapse.

Защо виждам съобщението за грешка - не може да се зареди групово, защото файлът е непълен или не може да бъде прочетен (само CSV файл)?

Данните на Dataverse могат непрекъснато да се променят чрез създаване, актуализиране и изтриване на транзакции. Тази грешка се причинява от промяна на основния файл, когато четете данни от него. Така че, за таблици с непрекъснати промени, променете конвейера си за потребление, за да използвате данни за моментни снимки (разделени таблици) за потребление. Повече информация: Отстраняване на неизправности с безсървърен SQL пул

Azure Synapse Link за Dataverse е предназначен за целите на анализа. Препоръчваме на клиентите да използват дългосрочно съхранение за целите на архивирането. Повече информация: Преглед на дългосрочното съхранение на данни в Dataverse

Защо не виждам никакви промени в данните в езерото с данни, когато записите са били изтрити в Dataverse?

За всяко директно SQL извикване за премахване на запис услугата Azure Synapse Link for Dataverse не се задейства, тъй като BPO. Изтриването не се извиква. За примерна функция отидете в Как да почистите наследен достъп.