我正在閱讀一些Hive QL腳本,發現這行: SELECT'Start time:',from_unixtime(unix_timestamp());SELECT對Hive的疑問SQL
這是什麼意思?它看起來不像一個真正的「選擇」聲明?
我正在閱讀一些Hive QL腳本,發現這行: SELECT'Start time:',from_unixtime(unix_timestamp());SELECT對Hive的疑問SQL
這是什麼意思?它看起來不像一個真正的「選擇」聲明?
HIVE-178 選擇未經應該承擔沒有列
...人們利用這一切與SQL Server的時間一排表。我希望人們 喜歡它,如果它被添加到蜂巢...
... Hive的語言手冊現在狀態,「作爲蜂巢0.13.0,距離是 可選的(例如,SELECT 1+ 1)「。
真的沒什麼新的 - 這句法是由Sybase的Transact-SQL 30年前介紹,他們賣掉了自己的「SQL Server」代碼庫(和產品名稱),以微軟之前,他們賣的休息多久到SAP。
備用語法使用DUAL
(Oracle)或SYSDUMMY1
(DB2)僞表。
請注意,這種語法在兩種情況下是有用的:如果你想「打印」一些任意的消息到控制檯*(如你的例子)*;或者如果你想在查詢中注入一些任意數據*(例如單元測試)* –
這究竟意味着什麼?在我的情況下,「選擇」開始時間:',from_unixtime(unix_timestamp());「,它會查詢DB?將它寫入數據庫? – derek
再次閱讀我的評論 - 尤其是_「就像你的例子」中那樣的部分_。另外,打開Hive JIRA的鏈接並閱讀它。最後但並非最不重要的一點,想一想SELECT在英語中的含義。有點類似於GET,對吧? –
什麼是列名? –
@Mohsen_Fatemi,不相關。這裏沒有查詢表。 –
這個SQL語句可以替換爲'select current_timestamp;' – leftjoin