Sdílet prostřednictvím


Správa souborů ve svazcích katalogu Unity pomocí ovladače ODBC Databricks

Tento článek popisuje, jak nahrát, stáhnout a odstranit soubory ve svazcích katalogu Unity pomocí ovladače ODBC Databricks.

Požadavky

  • Ovladač ODBC Databricks verze 2.8.2 nebo vyšší
  • Ve výchozím nastavení je povolený nativní režim dotazu. V opačném případě přidejte UseNativeQuery vlastnost do připojovací řetězec ODBC a nastavte jeho hodnotu na 1 hodnotu nebo 2.

Odeslání souboru

Chcete-li nahrát soubor do svazku, musíte přidat StagingAllowedLocalPaths vlastnost do rozhraní ODBC připojovací řetězec a nastavit hodnotu této vlastnosti na cestu k souboru, který chcete nahrát. Pokud chcete nahrát více souborů z samostatných umístění, nastavte tuto vlastnost na seznam cest oddělených čárkami, například /tmp/,/usr/tmp/.

Chcete-li přepsat obsah jakéhokoli existujícího souboru v zadaném umístění pro nahrání, přidejte OVERWRITE.

Následující fragment kódu Pythonu ukazuje, jak nahrát soubor do svazku.

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")

Stažení souboru

Následující fragment kódu Pythonu ukazuje, jak stáhnout soubor ze svazku.

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" +
    "'")

Odstranění souboru

Následující fragment kódu Pythonu ukazuje, jak odstranit soubor ze svazku.

conn = pyodbc.connect(conn_string, autocommit=True)
cursor = conn.cursor()
cursor.execute("REMOVE '" +
    "/Volumes/main/default/my-volume/my-data.csv" +
    "'")