ドライバーを使用してUnity Catalog ボリューム内のファイルを管理するDatabricksODBC
この記事では 、Unity Catalog DatabricksODBCドライバー を使用して ボリューム 内のファイルをアップロード、ダウンロード、および削除する方法について説明します。
要件
Databricks ODBC ドライバー バージョン 2.8.2 以上。
デフォルトでは、ネイティブ クエリ モードが有効になっています。 それ以外の場合は、ODBC 接続文字列に
UseNativeQuery
プロパティを追加し、その値を1
または2
に設定します。
ファイルをアップロードする
ファイルをボリュームにアップロードするには、ODBC 接続文字列にStagingAllowedLocalPaths
プロパティを追加し、このプロパティの値をアップロードするファイルのパスに設定する必要があります。 別々の場所から複数のファイルをアップロードするには、このプロパティをパスのカンマ区切りリストに設定します (例: /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")