Hantera filer i Unity Catalog-volymer med Databricks ODBC-drivrutinen
Den här artikeln beskriver hur du laddar upp, laddar ned och tar bort filer i Unity Catalog-volymer med databricks ODBC-drivrutinen.
Krav
- Databricks ODBC Driver version 2.8.2 eller senare.
- Som standard är det interna frågeläget aktiverat. Annars lägger du till
UseNativeQuery
egenskapen i ODBC-anslutningssträng och anger dess värde till1
eller2
.
Ladda upp en fil
Om du vill ladda upp en fil till en volym måste du lägga till StagingAllowedLocalPaths
egenskapen i ODBC-anslutningssträng och ange den här egenskapens värde till sökvägen till filen som ska laddas upp. Om du vill ladda upp flera filer från separata platser anger du den här egenskapen till en kommaavgränsad lista med sökvägar, till exempel /tmp/,/usr/tmp/
.
Om du vill åsidosätta innehållet i en befintlig fil på den angivna uppladdningsplatsen lägger du till OVERWRITE
.
Följande Python-kodfragment visar hur du laddar upp en fil till en volym.
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")
Ladda ned en fil
Följande Python-kodfragment visar hur du laddar ned en fil från en volym.
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" +
"'")
Ta bort en fil
Följande Python-kodfragment visar hur du tar bort en fil från en volym.
conn = pyodbc.connect(conn_string, autocommit=True)
cursor = conn.cursor()
cursor.execute("REMOVE '" +
"/Volumes/main/default/my-volume/my-data.csv" +
"'")