Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Auf dieser Seite wird beschrieben, wie Sie Dateien in Unity-Katalogvolumes mithilfe des Databricks ODBC-Treibers hochladen, herunterladen und löschen.
Anforderungen
- Databricks ODBC-Treiber, Version 2.8.2 oder höher
- Nativer Abfragemodus aktiviert (Standard). Wenn sie deaktiviert ist, fügen Sie
UseNativeQuery=1oderUseNativeQuery=2Ihrer Verbindungszeichenfolge hinzu.
Ein vollständiges Python-Beispiel mit Authentifizierungseinrichtung finden Sie unter Connect Python und Pyodbc mit Azure Databricks.
Hochladen einer Datei
Um eine Datei hochzuladen, fügen Sie die StagingAllowedLocalPaths Eigenschaft zu Ihrer Verbindungszeichenfolge mit dem Pfad der Datei hinzu, die hochgeladen werden soll. Verwenden Sie für mehrere Quellspeicherorte eine durch Trennzeichen getrennte Liste (z. B /tmp/,/usr/tmp/. ).
Von Bedeutung
In Mandantenumgebungen, in denen Benutzer die ODBC-URL (z. B. BI-Tools oder Entwicklerdienste) steuern, legen Sie StagingAllowedLocalPaths auf eine Sandbox-Umgebung oder einen nicht vorhandenen Pfad fest. Dadurch wird verhindert, dass Benutzer beliebige Dateien schreiben und die interne Bereitstellung des Diensts beeinträchtigen.
Um eine vorhandene Datei zu überschreiben, fügen Sie OVERWRITE zur Anweisung hinzu.
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")
Herunterladen einer Datei
Wird GET verwendet, um eine Datei von einem Volume in einen lokalen Pfad herunterzuladen:
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" +
"'")
Löschen einer Datei
Verwenden Sie REMOVE, um eine Datei aus einem Volume zu löschen.
conn = pyodbc.connect(conn_string, autocommit=True)
cursor = conn.cursor()
cursor.execute("REMOVE '" +
"/Volumes/main/default/my-volume/my-data.csv" +
"'")