共用方式為


使用 Databricks ODBC 驅動程式管理 Unity 目錄磁碟區中的檔案

本文說明如何使用 Databricks ODBC Driver 上傳、下載和刪除 Unity 目錄磁碟區中的檔案。

需求

  • Databricks ODBC Driver 2.8.2 版或更新版本。
  • 根據預設,會啟用原生查詢模式。 否則,請將 屬性新增UseNativeQuery至 ODBC 連接字串,將其值設定為 12

上傳檔案

若要將檔案上傳至磁碟區,您必須將 屬性新增StagingAllowedLocalPaths至 ODBC 連接字串,將此屬性的值設定為要上傳的檔案路徑。 若要從不同的位置上傳多個檔案,請將此屬性設定為逗號分隔的路徑清單,例如 /tmp/,/usr/tmp/

若要覆寫指定上傳位置中任何現有檔案的內容,請新增 OVERWRITE

下列 Python 代碼段示範如何將檔案上傳至磁碟區。

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

下載檔案

下列 Python 代碼段示範如何從磁碟區下載檔案。

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

刪除檔案

下列 Python 代碼段示範如何從磁碟區中刪除檔案。

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