Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cette page explique comment charger, télécharger et supprimer des fichiers dans des volumes de catalogue Unity à l’aide du pilote ODBC Databricks.
Spécifications
- Databricks ODBC Driver version 2.8.2 ou ultérieure
- Mode de requête natif activé (par défaut). Si elle est désactivée, ajoutez
UseNativeQuery=1ouUseNativeQuery=2à votre chaîne de connexion.
Pour obtenir un exemple Python complet avec la configuration de l’authentification, consultez Connecter Python et pyodbc à Azure Databricks.
Charger un fichier
Pour charger un fichier, ajoutez la StagingAllowedLocalPaths propriété à votre chaîne de connexion avec le chemin d’accès du fichier à charger. Pour plusieurs emplacements sources, utilisez une liste séparée par des virgules (par exemple, /tmp/,/usr/tmp/).
Important
Dans les environnements multilocataires où les utilisateurs contrôlent l’URL ODBC (par exemple, les outils décisionnels ou les services de développement), l’utilisateur définit StagingAllowedLocalPaths sur un emplacement sandbox ou un chemin inexistant. Cela empêche les utilisateurs d’écrire des fichiers arbitraires et d’interférer avec le déploiement interne du service.
Pour remplacer un fichier existant, ajoutez OVERWRITE à l’instruction.
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")
Télécharger un fichier
Permet GET de télécharger un fichier à partir d’un volume vers un chemin d’accès local :
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" +
"'")
Supprimer un fichier
Permet REMOVE de supprimer un fichier d’un volume :
conn = pyodbc.connect(conn_string, autocommit=True)
cursor = conn.cursor()
cursor.execute("REMOVE '" +
"/Volumes/main/default/my-volume/my-data.csv" +
"'")