我試圖連接到使用pyodbc磚,我遇到一個問題結構列。
據我理解,結構體數組列和列pyodbc不支持,但是它們轉換為JSON。然而,當有嵌套列包含引號(“),返回的JSON無效,即引用不逃。
我使用數據集:
從pyspark。sql行數據導入=[(嵌套=行(nested_column =“嵌套\“性格”)),]df = spark.sparkContext.parallelize(數據).toDF () (df。寫.format(“δ”).mode .option(“覆蓋”)(“路徑”,“/δ/ quotes_issue /”) .saveAsTable (“default.quotes_issue”))
查詢數據後通過pyodbc(使用文檔在這裏)
康涅狄格州= pyodbc。連接(“DSN = Databricks_Cluster”, autocommit = True)光標= conn.cursor()遊標。執行(“SELECT * FROM default.quotes_issue”)行= cursor.fetchall行(r):打印(右)
這給了我以下無效的JSON輸出。
”{nested_column”:“嵌套”字符"}
我試著與磚計算集群的端點,以及新的SQL端點。也試過對於Python磚SQL的連接,但他們都有同樣的問題。
有辦法配置數據磚,辛巴司機不知怎麼正確地轉義引號?
嗨@Derk Crezee,是的,我收到了你的問題。下麵的代碼片段已經在上麵的鏈接共享由我和它允許您連接使用pyodbc磚。你可以把它放在init腳本。
% sh旋度https://packages.microsoft.com/keys/microsoft.asc| apt-key添加——旋度https://packages.microsoft.com/config/ubuntu/16.04/prod.list> /etc/apt/sources.list.d / mssql-release。apt-get列表更新ACCEPT_EULA = Y apt-get安裝msodbcsql17 apt-get - Y安裝unixodbc-dev sudo apt-get pyodbc安裝python3-pip - Y pip3安裝,升級