取消
顯示的結果
而不是尋找
你的意思是:

需要幫助Azure的磚CTE問題和SQL語法在筆記本

Jyo777
貢獻者

你好神奇的社區的人,

隨時分享你的經驗或知識關於以下問題:-

1)。我們可以通過一個CTE sql語句到jdbc火花?我想我不能,但我可以通過正常的sql (Select * from)和它的工作原理。我聽說在火花3.4中,它應該是可用的,是真的嗎?有人麵對它嗎?

2)誰有一個sql函數列表/語法比較方便。例如:-

(1 *)亞行的sql server,但它不工作筆記本(我們需要使用限製)

謝謝提前:slightly_smiling_face:

4回複4

匿名
不適用

@Jyoti珍:

1)是的,它可以通過一個CTE(公共表表達式)火花JDBC SQL語句。然而,ct通過火花JDBC的能力取決於您所使用的版本的火花。

火花2。x版本,不支持ct在火花JDBC。然而,在火花3。x版本,支持ct。因此,如果您使用的是火花3.4,您應該能夠通過一個CTE通過火花JDBC SQL語句。使用ct在火花引發JDBC 3.4,你需要確保你使用JDBC選項中的“查詢”選項

這裏有一個例子Python代碼片段使用公共表表達式(cte)在火花引發JDBC 3.4:“

從pyspark。sql導入SparkSession #創建SparkSession火花= SparkSession。builder \ .appName (CTE在火花與JDBC 3.4) \ .getOrCreate() #火花配置為使用JDBC驅動程序spark.conf.set (“spark.sql.catalog.jdbc。驅動程序”、“com.mysql.jdbc.Driver”) #創建一個臨時視圖使用CTE火花。與my_cte sql(“””(從my_table col1選擇,則col2 col3 = some_value)選擇col1, AVG (col2) avg_col2 my_cte GROUP BY col1”" ") .createOrReplaceTempView (my_temp_view) #使用臨時視圖查詢遠程數據庫通過JDBC jdbc_df =火花。讀\ .format (jdbc) \ .option (“url”,“jdbc: mysql: / / localhost: 3306 / my_db”) \ .option(“數據表”,“my_temp_view”) \ .option(“用戶”、“my_username”) \ .option(“密碼”、“my_password”) \ .load() #顯示結果jdbc_df.show ()

2)一些示例如下

高級功能:SQL Server:選擇高級1 * my_table Azure磚:SELECT * FROM my_table限製1日期功能:SQL Server:返回(天7 my_date)添加日期Azure磚:7天DATE_ADD (my_date,間隔7天)添加7天一個日期字符串功能:SQL Server: Substring (my_string 1 3)獲得的第一個3個字符字符串Azure磚:SUBSTR (my_string, 1, 3)字符串的前3個字符字符串連接:SQL服務器:選擇“你好”+“世界”來連接兩個字符串Azure磚:選擇CONCAT(‘你好’,‘世界’)來連接兩個字符串格式化日期:SQL服務器:選擇格式(my_date, dd / MM / yyyy)格式化日期dd / MM / yyyy Azure磚:選擇DATE_FORMAT (my_date, dd / MM / yyyy)格式dd / MM / yyyy日期

嘿,非常感謝把所有信息我……

1)問題:-你確定火花2 *版本嗎?我們目前有3個。*但仍不能做。隻是為了澄清我們的桌子直接來自jdbc連接。

例如:——my_table來自oracle或sql server的jdbc連接

2)關於sql語法:謝謝:slightly_smiling_face:

匿名
不適用

@Jyoti珍:

你能使用CTE語句創建一個臨時視圖,然後使用火花JDBC查詢視圖。這裏有一個例子,您可以創建一個臨時視圖使用CTE語句:

火花。sql(“與cte (SELECT * FROM table_name column_name = some_value) \ SELECT * FROM cte”) .createOrReplaceTempView (“temp_view_name”)

Kaniz
社區經理
社區經理

嗨@Jyoti j,我們一直沒有收到你自從上次反應@Suteja卡努裏人,我檢查看看她的建議幫助你。

否則,如果你有任何解決方案,請與社區分享,因為它可以幫助別人。

同時,請別忘了點擊“選擇最佳”按鈕時提供的信息幫助解決你的問題。

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map