Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
:::uwaga Zgodność
Łącznik SharePoint obsługuje użycie w obszarach roboczych z włączonymi ulepszonymi ustawieniami zabezpieczeń i zgodności.
:::
Pliki ustrukturyzowane, częściowo ustrukturyzowane i nieustrukturyzowane można importować z Microsoft SharePoint do tabel delty. Łącznik SharePoint obsługuje przyrostowe pozyskiwanie plików SharePoint przy użyciu interfejsów API wsadowych i przesyłania strumieniowego, w tym Auto Loader, spark.read i COPY INTO z zarządzaniem katalogiem Unity.
Wybierz swój łącznik SharePoint
Program Lakeflow Connect oferuje dwa łączniki SharePoint. Obie te grupy uzyskują dostęp do danych w SharePoint, ale różnią się w zależności od ich poziomu zarządzania.
| Connector | Opis |
|---|---|
| Zarządzany łącznik programu SharePoint | W pełni zarządzany łącznik. Prosty, niewymagający konserwacji łącznik do aplikacji korporacyjnych, który ładuje dane do tabel Delta i utrzymuje ich synchronizację ze źródłem. |
| Standardowy łącznik SharePoint | Twórz niestandardowe potoki ingestii danych przy użyciu SQL, PySpark lub potoków Lakeflow, korzystając z interfejsów API do przetwarzania wsadowego i strumieniowego, takich jak read_files, spark.read, COPY INTO i 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ę. |
Tip
Databricks zaleca zarządzany łącznik programu SharePoint w większości zastosowań. Zapewnia ona w pełni zarządzane środowisko z automatycznym pozyskiwaniem przyrostowym, obsługą szerokiego formatu oraz elastycznym wyborem plików i folderów.
Kluczowe funkcje
Standardowy łącznik 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
- Pobieranie stron SharePoint (
.aspx) w Databricks Runtime 19 i wyższych. Zobacz Ingest stron SharePoint. - 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 SharePoint, musisz mieć następujące elementy:
- Obszar roboczy z włączonym Unity Catalog.
uprawnienia do tworzenia połączenia z SharePoint lub odpowiednie uprawnienia do używania istniejącego połączenia w zależności od trybu dostępu do klastra : - Tryb dedykowanego dostępu:
MANAGE CONNECTION. - Standardowy tryb dostępu:
USE CONNECTION.
- Tryb dedykowanego dostępu:
- Obliczenia wykorzystujące Databricks Runtime w wersji 17.3 LTS lub nowszej.
- Uwierzytelnianie OAuth skonfigurowane z użyciem zakresu uprawnień
Sites.Read.AlllubSites.Selected. - Opcjonalnie: włącz funkcję Excel Beta na potrzeby analizowania plików Excel. Zobacz Odczytywanie i przesyłanie strumieniowe plików Excel.
Tworzenie połączenia
Utwórz połączenie Unity Catalog, aby zapisać dane uwierzytelniające SharePoint. Proces konfiguracji połączenia jest współużytkowany zarówno między łącznikami standardowymi, jak i zarządzanymi SharePoint.
Aby uzyskać pełne instrukcje konfiguracji połączenia, w tym opcje uwierzytelniania OAuth, zobacz Przegląd konfiguracji importu do SharePoint.
Odczyt plików z SharePoint
Aby odczytać pliki, przekaż połączenie utworzone przy użyciu opcji databricks.connection i adresu URL wskazującego zasób SharePoint, do którego chcesz uzyskać dostęp. Adres URL, który dostarczasz, określa zakres integracji danych.
Następujące typy ścieżek są obsługiwane w Databricks Runtime 17.3 LTS i wyższych:
| Typ ścieżki | Opis |
|---|---|
| Site | Skopiuj adres URL witryny z paska adresu.https://mytenant.sharepoint.com/sites/test-site |
| Podwitryna | Skopiuj adres URL podwitryny z paska adresu.https://mytenant.sharepoint.com/sites/test-site/test-subsite |
| Biblioteka dokumentów | Otwórz bibliotekę z zawartości witryny i skopiuj adres URL z paska adresu.https://mytenant.sharepoint.com/sites/test-site/Shared%20Documentshttps://mytenant.sharepoint.com/sites/test-site/custom-drive |
| Folder | Otwórz folder z zawartości witryny i skopiuj adres URL z paska adresu. Alternatywnie otwórz okienko Details w SharePoint i kliknij ikonę kopiowania obok Path.https://mytenant.sharepoint.com/sites/test-site/Shared%20Documents/Forms/AllItems.aspx?id=%2Fsites...https://mytenant.sharepoint.com/sites/test-site/custom-drive/test-folder |
| File | Wybierz plik, kliknij menu rozwijane (...), a następnie wybierz pozycję Podgląd. Skopiuj adres URL w pasku adresu. Alternatywnie otwórz okienko Details pliku w SharePoint i kliknij ikonę kopiowania obok Path.https://mytenant.sharepoint.com/sites/test-site/Shared%20Documents/Forms/AllItems.aspx?viewid=1a2b3c...https://mytenant.sharepoint.com/sites/test-site/custom-drive/test-folder/test.csv |
Databricks Runtime 18 LTS i nowsze obsługuje następujące typy ścieżek:
| Typ ścieżki | Opis |
|---|---|
| Zagnieżdżona podstrona | Skopiuj adres URL podwitryny z paska adresu.https://mytenant.sharepoint.com/sites/test-site/subsite/nested-subsite/nested-nested-subsite |
| Udostępnij link | Wybierz plik lub folder, kliknij menu przepełnienia (...), a następnie wybierz Kopiuj link. Usługa Databricks zaleca ustawienie linku udostępniania, aby nigdy nie wygasało.https://mytenant.sharepoint.com/:i:/s/test-site/1A2B3C4D5E6F7G8H9I |
| Microsoft 365 dla sieci Web (dawniej Office) | Otwórz plik w Microsoft 365 dla sieci Web i skopiuj adres URL z paska adresu.https://mytenant.sharepoint.com/:x:/r/sites/test-site/_layouts/15/Doc.aspx?sourcedoc=%1A2B... |
Databricks Runtime 19 i wyższe dodają wsparcie dla następujących typów ścieżek:
| Typ ścieżki | Opis |
|---|---|
| Tenant | Skopiuj korzeniowy adres URL dzierżawy z paska adresu.https://mytenant.sharepoint.com |
| Strony internetowe | Pobieraj bibliotekę Site Pages (.aspx) witryny, przechowywaną poza bibliotekami dokumentów. Zobacz Ingest stron SharePoint.https://mytenant.sharepoint.com/sites/test-site/SitePages |
Przykłady
Istnieje kilka sposobów odczytywania plików przy użyciu standardowego łącznika SharePoint.
Strumieniowanie plików SharePoint przy użyciu Auto Loader.
Moduł automatycznego ładowania zapewnia najbardziej wydajny sposób przyrostowego pozyskiwania plików strukturalnych z 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-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("cloudFiles.schemaLocation", "<path-to-schema-location>")
.option("pathGlobFilter", "*.csv")
.option("cloudFiles.inferColumnTypes", True)
.option("header", True)
.load("https://mytenant.sharepoint.com/sites/Engineering/Data/IoT_Logs")
)
Odczytuj pliki SharePoint z użyciem odczytu wsadowego platformy Spark
W poniższym przykładzie pokazano, jak importować pliki SharePoint w języku Python przy użyciu funkcji spark.read. Ustaw opcję recursiveFileLookup na true, aby odczytywać pliki z zagnieżdżonych struktur, takich jak biblioteki dokumentów w witrynie, foldery w bibliotece dokumentów lub podwitryny w witrynie.
# 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"))
Odczytaj pliki SharePoint przy użyciu Spark SQL
W poniższym przykładzie pokazano, jak w języku SQL pozyskiwać pliki SharePoint przy użyciu funkcji zwracającej wartości tabeli read_files. 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 SharePoint w potokach usługi Lakeflow
Uwaga / Notatka
Złącze SharePoint wymaga Databricks Runtime 17.3 lub nowszego.
Poniższe przykłady pokazują, jak odczytywać pliki z SharePoint przy użyciu Auto Loader w potokach Lakeflow.
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("cloudFiles.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 SharePoint (takich jak pliki PDF, dokumenty Word lub pliki PowerPoint) przy użyciu standardowego łącznika 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, map('version', '2.0')) 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.
Parsowanie przyrostowe za pomocą potoków Lakeflow
Możesz również użyć ai_parse_document w potokach Lakeflow, aby włączyć parsowanie przyrostowe. W miarę jak nowe pliki są przesyłane strumieniowo z SharePoint, są one automatycznie analizowane jako aktualizacje potoku.
Na przykład możesz zdefiniować brązową tabelę streamingową, która pobiera surowe pliki binarne, a następnie drugą tabelę streamingową, która umieszcza parsowane treści w nowej kolumnie:
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 STREAMING TABLE documents_parsed
AS SELECT
*,
ai_parse_document(content, map('version', '2.0')) AS parsed_content
FROM STREAM sharepoint_documents_table;
Takie podejście gwarantuje, że:
- Nowo pobrane pliki SharePoint są automatycznie analizowane za każdym razem, gdy pipeline się aktualizuje.
- Parsowane wyjścia pozostają zsynchronizowane z danymi przychodzącymi.
- Dalsze potoki AI zawsze operują na aktualnych reprezentacjach dokumentów.
Zobacz ai_parse_document function, aby uzyskać informacje o obsługiwanych formatach i opcjach zaawansowanych, w tym o opcji version, która przypina schemat wyjściowy.
kolumna metadanych SharePoint
Kolumna _sharepoint_metadata to ukryta kolumna metadanych, która zapewnia dostęp do właściwości specyficznych dla SharePoint plików wczytanych, pochodzących z zasobu driveItem Microsoft Graph. Wymaga środowiska Databricks Runtime 18 LTS lub nowszego i jest dostępny dla wszystkich formatów plików podczas odczytywania z SharePoint. Aby dołączyć kolumnę _sharepoint_metadata do zwróconej ramki danych, musisz jawnie wybrać ją w zapytaniu odczytu.
Jeśli źródło danych zawiera kolumnę o nazwie _sharepoint_metadata, nazwa kolumny metadanych SharePoint zostanie zmieniona na __sharepoint_metadata (z dodatkowym wiodącym podkreśleniem) w celu deduplikacji. Dodatkowe podkreślenia są dodawane do momentu, gdy nazwa będzie unikatowa.
Typowe metadane pliku, takie jak ścieżka pliku lub rozmiar, można wykonywać zapytania przy użyciu kolumny _metadata . Aby uzyskać więcej informacji, zobacz Kolumna metadanych pliku.
Schemat
Kolumna _sharepoint_metadata to STRUCT, które zawiera następujące pola. Wszystkie pola mogą mieć wartość null.
| Name | Typ | Opis | Przykład |
|---|---|---|---|
| item_id | STRING |
Identyfikator driveItem elementu. | 01OMQ3MNLH42C5J675CBEI5CRK7SPKQUTZ |
| site_id | STRING |
Identyfikator witryny SharePoint zawierającej element. | mytenant.sharepoint.com,69dc7b12-f92c-498d-9514-596b793a1f77,c6c1db8d-2b8d-48a1-a549-394b63d74725 |
| drive_id | STRING |
Identyfikator dysku, który zawiera element. | b!EnvcaSz5jUmVFFlreTofd43bwcaNK6FIpUk5S2PXRyWTvQraaWQkSpwQEgThHDS- |
| drive_type | STRING |
Typ dysku, na przykład documentLibrary dla bibliotek SharePoint lub business dla OneDrive dla Firm. |
documentLibrary |
| parent_id | STRING |
Identyfikator driveItem folderu nadrzędnego. | 01OMQ3MNN6Y2GOVW7725BZO354PWSELRRZ |
| parent_name | STRING |
Nazwa folderu nadrzędnego. | Shared Documents |
| parent_path | STRING |
Ścieżka względna dysku folderu nadrzędnego. | /drives/b!EnvcaSz5.../root: |
| web_url | STRING |
Adres URL przeglądarki elementu w SharePoint. | https://mytenant.sharepoint.com/sites/TestSite/_layouts/15/Doc.aspx?sourcedoc=... |
| typ MIME | STRING |
Typ MIME elementu. | application/vnd.ms-excel |
| created_by_email | STRING |
Adres e-mail użytkownika, który utworzył element. | alice@example.onmicrosoft.com |
| created_by_name | STRING |
Nazwa wyświetlana użytkownika, który utworzył element. | Alice Example |
| znacznik_czasu_utworzenia | TIMESTAMP |
Czas utworzenia elementu. | 2025-12-03 13:33:12 |
| last_modified_by_email | STRING |
Adres e-mail użytkownika, który ostatnio zmodyfikował element. | alice@example.onmicrosoft.com |
| last_modified_by_name | STRING |
Nazwa wyświetlana użytkownika, który ostatnio zmodyfikował element. | Alice Example |
| etag | STRING |
ETag elementu. Zmienia się, gdy element lub dowolny z jego metadanych ulegnie zmianie. | "{D485E667-FDFB-4810-8E8A-2AFC9EA85279},1" |
| ctag | STRING |
Tag zmiany elementu. Zmienia się tylko wtedy, gdy zawartość elementu ulegnie zmianie. | "c:{D485E667-FDFB-4810-8E8A-2AFC9EA85279},1" |
| opis | STRING |
Opis elementu, jeśli został ustawiony. | Q4 financial report |
| dodatkowe_metadane | VARIANT |
Wszystkie inne pola driveItem zwracane przez Microsoft Graph, ale nie zostały wyodrębnione powyżej. | {"shared":{"scope":"users"},...} |
Uwaga / Notatka
Pole additional_metadata jest zwracane jako VARIANT. Zobacz VARIANT typ.
Przykłady
W poniższych przykładach pokazano, jak uwzględnić kolumnę _sharepoint_metadata w zapytaniu odczytu, wybrać określone pola z kolumny i wyodrębnić wartości z additional_metadataVARIANT pola.
Python
df = (spark.read
.format("binaryFile")
.option("databricks.connection", "my_sharepoint_conn")
.load("https://mytenant.sharepoint.com/sites/Marketing/Shared%20Documents")
.select("*", "_metadata", "_sharepoint_metadata"))
SQL
SELECT *, _sharepoint_metadata
FROM read_files(
"https://mytenant.sharepoint.com/sites/Marketing/Shared%20Documents",
`databricks.connection` => "my_sharepoint_conn",
format => "binaryFile"
);
Wybierz określone pola z _sharepoint_metadata struktury:
df = (spark.read
.format("binaryFile")
.option("databricks.connection", "my_sharepoint_conn")
.load("https://mytenant.sharepoint.com/sites/Marketing/Shared%20Documents")
.select("_sharepoint_metadata.item_id", "_sharepoint_metadata.etag"))
Wyodrębnij wartości z additional_metadataVARIANT pola przy użyciu operatora rzutowania :: :
SELECT
*,
_sharepoint_metadata.additional_metadata:shared:scope::STRING AS shared_scope
FROM read_files(
"https://mytenant.sharepoint.com/sites/Marketing/Shared%20Documents",
`databricks.connection` => "my_sharepoint_conn",
format => "binaryFile"
);
Pobieranie stron SharePoint
SharePoint przechowuje strony jako pliki .aspx w bibliotece Strony witryny danej witryny, oddzielnie od jej bibliotek dokumentów. Pobieranie stron witryn wymaga Databricks Runtime 19 lub wyższego. Aby uzyskać więcej informacji o stronach witryny, zobacz artykuł Strony programu SharePoint i model stron.
Możesz pobierać strony w następujący sposób:
| Typ ścieżki | Opis |
|---|---|
| Pojedyncza strona | Otwórz stronę w SharePoint i skopiuj adres URL z paska adresowego.https://mytenant.sharepoint.com/sites/test-site/SitePages/my-news-post.aspx |
| Biblioteka stron witryny | Otwórz Strony witryny z Zawartość witryny i skopiuj adres URL z paska adresu.https://mytenant.sharepoint.com/sites/test-site/SitePages |
| Strona lub podstrona | Gdy pobierasz stronę lub podwitrynę, Azure Databricks pobiera bibliotekę Site Pages wraz z bibliotekami dokumentów witryny.https://mytenant.sharepoint.com/sites/test-site |
Importuj strony witryny tak jak każdy inny plik:
Python
# Read a single Site Page
df = (spark.read
.format("binaryFile")
.option("databricks.connection", "my_sharepoint_conn")
.load("https://mytenant.sharepoint.com/sites/test-site/SitePages/my-news-post.aspx"))
# Read a site's Site Pages library
df = (spark.read
.format("binaryFile")
.option("databricks.connection", "my_sharepoint_conn")
.option("pathGlobFilter", "*.aspx") # optional. Example: only ingest Site Page files
.load("https://mytenant.sharepoint.com/sites/test-site/SitePages"))
# Read all Site Pages from a site
df = (spark.read
.format("binaryFile")
.option("databricks.connection", "my_sharepoint_conn")
.option("recursiveFileLookup", True)
.option("pathGlobFilter", "*.aspx") # optional. Example: only ingest Site Page files
.load("https://mytenant.sharepoint.com/sites/test-site"))
SQL
-- Read a single Site Page
CREATE TABLE site_page AS
SELECT * FROM read_files(
"https://mytenant.sharepoint.com/sites/test-site/SitePages/my-news-post.aspx",
`databricks.connection` => "my_sharepoint_conn",
format => "binaryFile"
);
-- Read a site's Site Pages library
CREATE TABLE site_pages AS
SELECT * FROM read_files(
"https://mytenant.sharepoint.com/sites/test-site/SitePages",
`databricks.connection` => "my_sharepoint_conn",
format => "binaryFile",
pathGlobFilter => "*.aspx" -- optional. Example: only ingest Site Page files
);
-- Read all Site Pages from a site
CREATE TABLE site_with_pages AS
SELECT * FROM read_files(
"https://mytenant.sharepoint.com/sites/test-site",
`databricks.connection` => "my_sharepoint_conn",
format => "binaryFile",
recursiveFileLookup => true,
pathGlobFilter => "*.aspx" -- optional. Example: only ingest Site Page files
);
Auto Loader, COPY INTO, i inne interfejsy działają ze stronami witryny tak samo jak z każdym innym plikiem. Zobacz przykłady spożycia w sekcji Przykłady .
Ograniczenia
Standardowy łącznik SharePoint ma następujące ograniczenia.
- Nie można importować wielu witryn przy użyciu tego samego zapytania. Aby pobierać dane z dwóch witryn, musisz napisać dwa oddzielne zapytania.
- Możesz użyć opcji filtrowania
pathGlobFilterplików według nazwy. Filtrowanie oparte na ścieżkach folderów nie jest obsługiwane. - Listy SharePoint nie są obsługiwane.
- Zapisywanie z powrotem na serwerze 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 potoków Lakeflow, aby tworzyć kompleksowe potoki danych z przekształceniami