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.
Na tej stronie opisano sposób przekazywania, pobierania i usuwania plików w woluminach Unity Catalog przy użyciu sterownika ODBC usługi Databricks.
Wymagania
- Sterownik ODBC usługi Databricks w wersji 2.8.2 lub nowszej
- Włączony tryb zapytania natywnego (ustawienie domyślne). Jeśli to ustawienie jest wyłączone, dodaj
UseNativeQuery=1lubUseNativeQuery=2do parametrów połączenia.
Pełny przykład języka Python z konfiguracją uwierzytelniania można znaleźć w temacie Connect Python and pyodbc to Azure Databricks (Łączenie języka Python i pyodbc z usługą Azure Databricks).
Przekazywanie pliku
Aby przekazać plik, dodaj właściwość StagingAllowedLocalPaths do łańcucha połączenia ze ścieżką pliku do przekazania. W przypadku wielu lokalizacji źródłowych użyj listy rozdzielanej przecinkami (na przykład /tmp/,/usr/tmp/).
Ważne
W środowiskach wielodostępnych, w których użytkownicy kontrolują adres URL ODBC (np. narzędzia typu BI lub usługi dla deweloperów), ustaw StagingAllowedLocalPaths na lokalizację piaskownicy lub nieistniejącą ścieżkę. Uniemożliwia to użytkownikom zapisywanie dowolnych plików i zakłócanie wdrażania wewnętrznego usługi.
Aby zastąpić istniejący plik, dodaj OVERWRITE do instrukcji .
conn_string = "".join([
"DRIVER=", os.getenv("ODBC_DRIVER", "/Library/simba/spark/lib/libsparkodbc_sbu.dylib"),
";Host=", os.getenv("ODBC_HOST_NAME", "<<HOST_NAME>>"),
";PORT=443",
";HTTPPath=", os.getenv("ODBC_HTTP_PATH", "/sql/1.0/endpoints/1234567890"),
";AuthMech=11",
";SSL=1",
";ThriftTransport=2",
";SparkServerType=3",
";Auth_Flow=0",
";Auth_AccessToken=", os.getenv("API_TOKEN", "<<NO_ACCESS_TOKEN_IS_SET>>"),
";StagingAllowedLocalPaths=", "/tmp"),
os.getenv("ODBC_OPTIONS", ""),
])
conn = pyodbc.connect(conn_string, autocommit=True)
cursor = conn.cursor()
cursor.execute("PUT '" +
"/tmp/my-data.csv" +
"' INTO '" +
"/Volumes/main/default/my-volume/my-data.csv" +
"' OVERWRITE")
Pobieranie pliku
Użyj GET, aby pobrać plik z woluminu do ścieżki lokalnej:
conn = pyodbc.connect(conn_string, autocommit=True)
cursor = conn.cursor()
cursor.execute("GET '" +
"/Volumes/main/default/my-volume/my-data.csv" +
"' TO '" +
"/tmp/my-downloaded-data.csv" +
"'")
Usuwanie pliku
Użyj REMOVE polecenia , aby usunąć plik z woluminu:
conn = pyodbc.connect(conn_string, autocommit=True)
cursor = conn.cursor()
cursor.execute("REMOVE '" +
"/Volumes/main/default/my-volume/my-data.csv" +
"'")