Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważne
Standardowy łącznik programu SharePoint jest w wersji beta. Administratorzy obszaru roboczego mogą kontrolować dostęp do tej funkcji ze strony Podglądy . Zobacz Zarządzanie wersjami zapoznawczami usługi Azure Databricks.
Dowiedz się, jak importować pliki ustrukturyzowane, semi-ustrukturyzowane i nieustrukturyzowane z usługi Microsoft SharePoint do tabel Delta. Łącznik SharePoint obsługuje przyrostowe pozyskiwanie plików SharePoint za pomocą interfejsów API wsadowych i przesyłania strumieniowego, w tym Automatycznego Modułu Ładującego, spark.read oraz COPY INTO, wszystko zgodnie z zasadami ładu Unity Catalog.
Wybierz łącznik SharePoint
Program Lakeflow Connect oferuje dwa uzupełniające łączniki programu SharePoint. Obie te elementy uzyskują dostęp do danych w programie SharePoint, ale obsługują odrębne cele.
| Kwestie wymagające rozważenia | Łącznik zarządzanego programu SharePoint | Standardowy łącznik SharePoint |
|---|---|---|
| Zarządzanie i dostosowywanie | W pełni zarządzany łącznik. Proste łączniki wymagające niewielkiej konserwacji dla oprogramowania dla przedsiębiorstw, które importują dane do tabel Delta i synchronizują je ze źródłem. Zobacz Łączniki zarządzane w programie Lakeflow Connect. |
Twórz niestandardowe potoki pozyskiwania danych za pomocą SQL, PySpark lub deklaratywnych potoków Lakeflow Spark, korzystając z interfejsów API dla przetwarzania wsadowego i strumieniowego, takich jak read_files, spark.read, COPY INTO oraz Auto Loader.Zapewnia elastyczność wykonywania złożonych przekształceń podczas ingestii, jednocześnie przekazując większą odpowiedzialność za zarządzanie potokami i ich konserwację. |
| Format wyjściowy | Jednolita tabela zawartości binarnej. Przetwarza każdy plik w formacie binarnym (jeden plik na wiersz) wraz z metadanymi pliku. kolumny dodatkowe. |
Tabele Delta z strukturą. Importowanie plików strukturalnych (takich jak CSV i Excel) jako tabel Delta. Można również użyć do pozyskiwania pliki bez struktury w formacie binarnym. |
| Stopień szczegółowości, filtrowanie i selekcja | Dzisiaj nie ma możliwości wyboru podfolderów ani plików. Brak filtrowania opartego na wzorcu. Przechwytywanie wszystkich plików w określonej bibliotece dokumentów programu SharePoint. |
Drobnoziarniste i zindywidualizowane. Wybór oparty na adresie URL do pozyskiwania z bibliotek dokumentów, podfolderów lub pojedynczych plików. Obsługuje również filtrowanie oparte na wzorcu przy użyciu pathGlobFilter opcji . |
Kluczowe funkcje
Standardowy łącznik programu SharePoint oferuje:
- Przetwarzanie plików ustrukturyzowanych, częściowo ustrukturyzowanych i nieustrukturyzowanych
- Granolowane pozyskiwanie: pozyskiwanie określonej witryny, podwitryny, biblioteki dokumentów, folderu lub pojedynczego pliku
- Pozyskiwanie danych przetwarzania wsadowego i strumieniowego przy użyciu
spark.readAuto Loader iCOPY INTO - Automatyczne wnioskowanie i ewolucja schematu dla formatów strukturalnych i częściowo ustrukturyzowanych, takich jak CSV i Excel
- Zabezpieczanie magazynu poświadczeń z połączeniem Unity Catalog
- Wybór plików z dopasowywaniem wzorca przy użyciu
pathGlobFilter
Requirements
Aby pozyskiwać pliki z programu SharePoint, musisz mieć następujące elementy:
- Obszar roboczy z włączonym Unity Catalog
-
CREATE CONNECTIONuprawnienia do tworzenia połączenia SharePoint (lubUSE CONNECTIONdo korzystania z istniejącego) - Środowisko obliczeniowe korzystające z środowiska Databricks Runtime w wersji 17.3 LTS lub nowszej
- Uwierzytelnianie OAuth skonfigurowane z zakresem
Sites.Read.Alluprawnień - Funkcja programu SharePoint Beta jest włączona na stronie Podglądy . Zobacz Zarządzanie wersjami zapoznawczymi usługi Azure Databricks
- Opcjonalnie: Włącz funkcję programu Excel Beta na potrzeby analizowania plików programu Excel. Zobacz Odczytywanie plików programu Excel
Tworzenie połączenia
Utwórz połączenie katalogu Unity do przechowywania poświadczeń SharePoint. Proces konfiguracji połączenia jest współużytkowany zarówno między łącznikami standardowymi, jak i zarządzanymi programu SharePoint.
Aby uzyskać pełne instrukcje konfiguracji połączenia, w tym opcje uwierzytelniania OAuth, zobacz Przegląd konfiguracji ładowania danych do programu SharePoint.
Odczytywanie plików z programu SharePoint
Aby odczytać pliki z programu SharePoint przy użyciu platformy Spark, określ połączenie utworzone w poprzednim kroku przy użyciu databricks.connection opcji źródła danych i podaj adres URL zasobu programu SharePoint, do którego chcesz uzyskać dostęp. Ten adres URL może odwoływać się do określonego pliku, folderu, biblioteki dokumentów (dysku) lub całej witryny. Oto kilka przykładów:
https://mytenant.sharepoint.com/sites/test-site/https://mytenant.sharepoint.com/sites/test-site/test-subsitehttps://mytenant.sharepoint.com/sites/test-site/test-drivehttps://mytenant.sharepoint.com/sites/test-site/Shared%20Documents/Forms/AllItems.aspxhttps://mytenant.sharepoint.com/sites/test-site/test-drive/test-folderhttps://mytenant.sharepoint.com/sites/test-site/test-drive/test-folder/test.csvhttps://mytenant.sharepoint.com/sites/test-site/another-subsite/another-drive/test.csv
Przykłady
Znajdź przykłady kodu do odczytywania plików przy użyciu standardowego łącznika programu SharePoint.
Przesyłanie strumieniowe plików programu SharePoint z wykorzystaniem Auto Loader
Moduł automatycznego ładowania zapewnia najbardziej wydajny sposób przyrostowego pozyskiwania plików strukturalnych z programu SharePoint. Automatycznie wykrywa nowe pliki i przetwarza je po ich nadejściu. Może również pozyskiwać pliki ustrukturyzowane i częściowo ustrukturyzowane, takie jak CSV i JSON, z automatycznym wnioskowaniem i ewolucją schematu. Aby uzyskać szczegółowe informacje na temat użycia automatycznego modułu ładującego, zobacz Typowe wzorce ładowania danych.
# Incrementally ingest new PDF files
df = (spark.readStream.format("cloudFiles")
.option("cloudFiles.format", "binaryFile")
.option("databricks.connection", "my_sharepoint_conn")
.option("cloudFiles.schemaLocation", <path to a schema location>)
.option("pathGlobFilter", "*.pdf")
.load("https://mytenant.sharepoint.com/sites/Marketing/Shared%20Documents")
)
# Incrementally ingest CSV files with automatic schema inference and evolution
df = (spark.readStream.format("cloudFiles")
.option("cloudFiles.format", "csv")
.option("databricks.connection", "my_sharepoint_conn")
.option("pathGlobFilter", "*.csv")
.option("inferColumnTypes", True)
.option("header", True)
.load("https://mytenant.sharepoint.com/sites/Engineering/Data/IoT_Logs")
)
Odczytywanie plików SharePoint przy użyciu czytania wsadowego Spark
# Read unstructured data as binary files
df = (spark.read
.format("binaryFile")
.option("databricks.connection", "my_sharepoint_conn")
.option("recursiveFileLookup", True)
.option("pathGlobFilter", "*.pdf") # optional. Example: only ingest PDFs
.load("https://mytenant.sharepoint.com/sites/Marketing/Shared%20Documents"))
# Read a batch of CSV files, infer the schema, and load the data into a DataFrame
df = (spark.read
.format("csv")
.option("databricks.connection", "my_sharepoint_conn")
.option("pathGlobFilter", "*.csv")
.option("recursiveFileLookup", True)
.option("inferSchema", True)
.option("header", True)
.load("https://mytenant.sharepoint.com/sites/Engineering/Data/IoT_Logs"))
# Read a specific Excel file from SharePoint, infer the schema, and load the data into a DataFrame
df = (spark.read
.format("excel")
.option("databricks.connection", "my_sharepoint_conn")
.option("headerRows", 1) # optional
.option("dataAddress", "'Sheet1'!A1:M20") # optional
.load("https://mytenant.sharepoint.com/sites/Finance/Shared%20Documents/Monthly/Report-Oct.xlsx"))
Odczytywanie plików programu SharePoint przy użyciu usługi Spark SQL
W poniższym przykładzie pokazano, jak pozyskiwać pliki programu SharePoint w języku SQL przy użyciu read_files funkcji wartości tabeli. Aby uzyskać szczegółowe informacje na temat read_files użycia, zobacz read_files funkcja wartości tabeli.
-- Read pdf files
CREATE TABLE my_table AS
SELECT * FROM read_files(
"https://mytenant.sharepoint.com/sites/Marketing/Shared%20Documents",
`databricks.connection` => "my_sharepoint_conn",
format => "binaryFile",
pathGlobFilter => "*.pdf", -- optional. Example: only ingest PDFs
schemaEvolutionMode => "none"
);
-- Read a specific Excel sheet and range
CREATE TABLE my_sheet_table AS
SELECT * FROM read_files(
"https://mytenant.sharepoint.com/sites/Finance/Shared%20Documents/Monthly/Report-Oct.xlsx",
`databricks.connection` => "my_sharepoint_conn",
format => "excel",
headerRows => 1, -- optional
dataAddress => "'Sheet1'!A2:D10", -- optional
schemaEvolutionMode => "none"
);
Pozyskiwanie przyrostowe za pomocą COPY INTO
COPY INTO Program zapewnia idempotentne przyrostowe ładowanie plików do tabeli Delta. Aby uzyskać szczegółowe informacje na temat COPY INTO użycia, zobacz Typowe wzorce ładowania danych przy użyciu COPY INTO.
CREATE TABLE IF NOT EXISTS sharepoint_pdf_table;
CREATE TABLE IF NOT EXISTS sharepoint_csv_table;
CREATE TABLE IF NOT EXISTS sharepoint_excel_table;
# Incrementally ingest new PDF files
COPY INTO sharepoint_pdf_table
FROM "https://mytenant.sharepoint.com/sites/Marketing/Shared%20Documents"
FILEFORMAT = BINARYFILE
PATTERN = '*.pdf'
FORMAT_OPTIONS ('databricks.connection' = 'my_sharepoint_conn')
COPY_OPTIONS ('mergeSchema' = 'true');
# Incrementally ingest CSV files with automatic schema inference and evolution
COPY INTO sharepoint_csv_table
FROM "https://mytenant.sharepoint.com/sites/Engineering/Data/IoT_Logs"
FILEFORMAT = CSV
PATTERN = '*.csv'
FORMAT_OPTIONS ('databricks.connection' = 'my_sharepoint_conn', 'header' = 'true', 'inferSchema' = 'true')
COPY_OPTIONS ('mergeSchema' = 'true');
# Ingest a single Excel file
COPY INTO sharepoint_excel_table
FROM "https://mytenant.sharepoint.com/sites/Finance/Shared%20Documents/Monthly/Report-Oct.xlsx"
FILEFORMAT = EXCEL
FORMAT_OPTIONS ('databricks.connection' = 'my_sharepoint_conn', 'headerRows' = '1')
COPY_OPTIONS ('mergeSchema' = 'true');
Pozyskiwanie plików programu SharePoint w deklaratywnych potokach Spark Lakeflow
Uwaga / Notatka
Łącznik programu SharePoint wymaga środowiska Databricks Runtime w wersji 17.3 lub nowszej. Nie jest to jeszcze dostępne w wersji Lakeflow Spark Deklaratywne potoki. Aby wyświetlić wersje środowiska Databricks Runtime używane w wersji Lakeflow Spark Deklaratywne potoki, zobacz informacje o wersji dla tej wersji.
W poniższych przykładach pokazano, jak odczytywać pliki SharePoint przy użyciu Auto Loader w Spark Declarative Pipelines:
Python
from pyspark import pipelines as dp
# Incrementally ingest new PDF files
@dp.table
def sharepoint_pdf_table():
return (spark.readStream.format("cloudFiles")
.option("cloudFiles.format", "binaryFile")
.option("databricks.connection", "my_sharepoint_conn")
.option("pathGlobFilter", "*.pdf")
.load("https://mytenant.sharepoint.com/sites/Marketing/Shared%20Documents")
)
# Incrementally ingest CSV files with automatic schema inference and evolution
@dp.table
def sharepoint_csv_table():
return (spark.readStream.format("cloudFiles")
.option("cloudFiles.format", "csv")
.option("databricks.connection", "my_sharepoint_conn")
.option("pathGlobFilter", "*.csv")
.option("inferColumnTypes", True)
.option("header", True)
.load("https://mytenant.sharepoint.com/sites/Engineering/Data/IoT_Logs")
)
# Read a specific Excel file from SharePoint in a materialized view
@dp.table
def sharepoint_excel_table():
return (spark.read.format("excel")
.option("databricks.connection", "my_sharepoint_conn")
.option("headerRows", 1) # optional
.option("inferColumnTypes", True) # optional
.option("dataAddress", "'Sheet1'!A1:M20") # optional
.load("https://mytenant.sharepoint.com/sites/Finance/Shared%20Documents/Monthly/Report-Oct.xlsx")
SQL
-- Incrementally ingest new PDF files
CREATE OR REFRESH STREAMING TABLE sharepoint_pdf_table
AS SELECT * FROM STREAM read_files(
"https://mytenant.sharepoint.com/sites/Marketing/Shared%20Documents",
format => "binaryFile",
`databricks.connection` => "my_sharepoint_conn",
pathGlobFilter => "*.pdf");
-- Incrementally ingest CSV files with automatic schema inference and evolution
CREATE OR REFRESH STREAMING TABLE sharepoint_csv_table
AS SELECT * FROM STREAM read_files(
"https://mytenant.sharepoint.com/sites/Engineering/Data/IoT_Logs",
format => "csv",
`databricks.connection` => "my_sharepoint_conn",
pathGlobFilter => "*.csv",
"header", "true");
-- Read a specific Excel file from SharePoint in a materialized view
CREATE OR REFRESH MATERIALIZED VIEW sharepoint_excel_table
AS SELECT * FROM read_files(
"https://mytenant.sharepoint.com/sites/Finance/Shared%20Documents/Monthly/Report-Oct.xlsx",
`databricks.connection` => "my_sharepoint_conn",
format => "excel",
headerRows => 1, -- optional
dataAddress => "'Sheet1'!A2:D10", -- optional
`cloudFiles.schemaEvolutionMode` => "none"
);
Analizowanie plików bez struktury
Podczas pozyskiwania plików bez struktury z programu SharePoint (takich jak pliki PDF, dokumenty programu Word lub pliki programu PowerPoint) przy użyciu standardowego łącznika programu SharePoint z formatem binaryFile zawartość pliku jest przechowywana jako nieprzetworzone dane binarne. Aby przygotować te pliki dla obciążeń sztucznej inteligencji , takich jak RAG, wyszukiwanie, klasyfikacja lub opis dokumentów, można przeanalizować zawartość binarną w ustrukturyzowanych danych wyjściowych z możliwością wykonywania zapytań przy użyciu polecenia ai_parse_document.
W poniższym przykładzie pokazano, jak analizować dokumenty bez struktury przechowywane w brązowej tabeli delty o nazwie documents, dodając nową kolumnę z analizowaną zawartością:
CREATE TABLE documents AS
SELECT * FROM read_files(
"https://mytenant.sharepoint.com/sites/Marketing/Shared%20Documents",
`databricks.connection` => "my_sharepoint_conn",
format => "binaryFile",
pathGlobFilter => "*.pdf,*.docx",
schemaEvolutionMode => "none"
);
SELECT *, ai_parse_document(content) AS parsed_content
FROM documents;
Kolumna parsed_content zawiera wyodrębniony tekst, tabele, informacje o układzie i metadane, które mogą być używane bezpośrednio dla podrzędnych potoków sztucznej inteligencji.
Analizowanie przyrostowe za pomocą deklaratywnych potoków Lakeflow Spark
Możesz również użyć ai_parse_document w potokach deklaratywnych Lakeflow Spark, aby włączyć analizowanie przyrostowe. Nowe pliki napływające z programu SharePoint są automatycznie analizowane w miarę jak potok jest aktualizowany.
Można na przykład zdefiniować zmaterializowany widok, który stale analizuje nowo pozyskane dokumenty:
CREATE OR REFRESH STREAMING TABLE sharepoint_documents_table
AS SELECT * FROM STREAM read_files(
"https://mytenant.sharepoint.com/sites/Marketing/Shared%20Documents",
format => "binaryFile",
`databricks.connection` => "my_sharepoint_conn",
pathGlobFilter => "*.pdf,*.docx");
CREATE OR REFRESH MATERIALIZED VIEW documents_parsed
AS
SELECT *, ai_parse_document(content) AS parsed_content
FROM sharepoint_documents_table;
Takie podejście gwarantuje, że:
- Nowo pozyskane pliki programu SharePoint są analizowane automatycznie przy każdym odświeżeniu zmaterializowanego widoku
- Przeanalizowane dane wyjściowe pozostają zsynchronizowane z danymi przychodzącymi
- Potoki przetwarzania danych AI zawsze działają na aktualnych reprezentacjach dokumentów.
Dowiedz się więcej: Zobacz ai_parse_document , aby zapoznać się z obsługiwanymi formatami i opcjami zaawansowanymi.
Ograniczenia
Standardowy łącznik programu SharePoint ma następujące ograniczenia:
- Brak ingestowania wielu witryn: nie można ingestować wielu witryn za pomocą tego samego zapytania. Aby pobierać dane z dwóch witryn, musisz napisać dwa oddzielne zapytania.
-
Filtrowanie: możesz użyć opcji filtrowania
pathGlobFilterplików według nazwy. Filtrowanie oparte na ścieżkach folderów nie jest obsługiwane. - Nieobsługiwane formaty: listy programu SharePoint i strony witryny .aspx nie są obsługiwane. Obsługiwane są tylko pliki w bibliotekach dokumentów.
- Zapisywanie z powrotem na serwerze programu SharePoint nie jest obsługiwane.
- Automatyczne ładowanie
cleanSource(usuwanie lub archiwizowanie plików w źródle po załadowaniu) nie jest obsługiwane.
Dalsze kroki
- Dowiedz się więcej na temat automatycznego modułu ładującego na potrzeby zaawansowanych wzorców pozyskiwania przesyłania strumieniowego
- Eksplorowanie idempotentnych obciążeń przyrostowych COPY INTO
- Porównaj z wzorcami wprowadzania magazynu obiektów w chmurze
- Skonfiguruj planowanie zadań w celu zautomatyzowania przepływów roboczych importowania danych
- Użyj Lakeflow Spark Declarative Pipelines aby stworzyć kompleksowe potoki danych z przekształceniami