Amazon EMR Hadoop Hive
本文介紹如何將 Tableau 連線到 Amazon EMR (Elastic MapReduce) Hadoop Hive 資料庫並設定資料來源。
附註:從版本 2018.2 開始,Tableau 僅支援 Amazon EMR Hadoop Hive,而不支援 Impala。Amazon 不再提供 Impala 驅動程式。
開始之前
在開始之前,請收集以下連線資訊:
託管要連線到的資料庫的伺服器的名稱以及埠號
驗證方法:
無驗證
Kerberos
使用者名稱
使用者名稱和密碼
Microsoft Azure HDInsight Service(版本 10.2.1 開始)
傳輸選項取決於您選取的驗證方法,並且可能包括以下各項:
二進位
SASL
HTTP
登入認證取決於您選取的驗證方法,並且可能包括以下各項:
使用者名稱
密碼
領域
主機 FQDN
服務名稱
HTTP 路徑
是否要連線到 SSL 伺服器?
(可選)要在每次 Tableau 連線時執行的初始 SQL 語句
需要驅動程式
此連接器需要驅動程式才能與資料庫通訊。如果電腦上未安裝該驅動程式,Tableau 會在連線對話方塊中顯示一條訊息,其中包含指向驅動程式下載(連結在新視窗開啟)頁面的連結,您可在該頁面中找到驅動程式連結和安裝說明。
附註:確保使用最新的可用驅動程式。若要獲取最新的驅動程式,請參閱 [Tableau 驅動程式下載] 頁面上的 Amazon EMR Hadoop Hive(連結在新視窗開啟)。
進行連線並設定資料來源
啟動 Tableau,並在 [連線] 下選取 [Amazon EMR Hadoop Hive]。有關資料連線的完整清單,請在 [至伺服器] 下面選取 [更多]。然後執行以下操作:
輸入託管資料庫的伺服器的名稱和要使用的埠號。
在 [驗證] 下拉清單中,選取要使用的驗證方法。提示您提供的資訊取決於您選取的驗證方法。
如果 [傳輸] 下拉清單可用,請選取要使用的傳輸的類型。
(選擇性)選取「初始 SQL」以指定要在每次連線開始時(例如開啟工作簿、重新整理擷取、登入到 Tableau Server 或發佈到 Tableau Server 時)執行的 SQL 命令。有關詳情,請參閱執行初始 SQL。
選取 [登入]。
連線到 SSL 伺服器時選取 [需要 SSL] 選項。
如果 Tableau 無法建立連線,請驗證您的認證是否正確。如果仍然無法連線,則說明您的電腦在定位伺服器時遇到問題。請聯絡網路管理員或資料庫管理員以取得更多協助。
在資料來源頁面上,執行下列操作:
(可選)在頁面頂端選取預設資料來源名稱,然後輸入要在 Tableau 中使用的唯一資料來源名稱。舉例來說,使用可幫助其他資料來源使用者推斷出要連線的資料來源的資料來源命名約定。
從 [結構描述] 下拉清單中,選取搜尋圖示,或在文字方塊中輸入結構描述名稱並選取搜尋圖示,然後選取結構描述。
在 [表] 文字方塊中,選取搜尋圖示,或輸入表名稱並按一下搜尋圖示,然後選取表。
將表拖到畫布,然後選取工作表索引標籤以開始分析。
使用自訂 SQL 連線到特定查詢,而非整個資料來源。有關詳情,請參閱連線到自訂 SQL 查詢。
登入到 Mac
如果在 Mac 上使用 Tableau Desktop,則在輸入伺服器名稱進行連線時,請使用完整網域名稱(例如 mydb.test.ourdomain.lan)而不是相對的網域名稱(例如 mydb 或 mydb.test)。
或者,可以將網域新增到 Mac 電腦的「搜尋網域」的清單中,以便在您連線時,只需要提供伺服器名稱。若要更新「搜尋網域」的清單,請轉到「系統喜好設定」>「網路」>「進階」,然後開啟「DNS」索引標籤。
使用 Hadoop Hive 資料
使用日期/時間資料
Tableau 本機支援 TIMESTAMP 和 DATE 類型。但是,如果您將日期/時間資料存儲為 Hive 中的字串,請確保以 ISO 格式 (YYYY-MM-DD) 進行存儲。您可以建立使用 DATEPARSE 或 DATE 函數將字串轉換為日期/時間格式的計算欄位。處理擷取時請使用 DATEPARSE(),否則請使用 DATE()。有關詳情,請參閱日期函式。
有關 Hive 資料類型的詳細資訊,請參閱 Apache Hive 網站上的日期(連結在新視窗開啟)。
返回的 NULL 值
當您在 Tableau 9.0.1 及更高版本以及 8.3.5 及更高的 8.3.x 版本中開啟在早期版本中建立的工作簿並且該工作簿以 Hive 不支援的格式將日期/時間資料存儲為字串時,則會返回 NULL 值。為了解決此問題,請將欄位類型重新變更為「字串」,並建立使用 DATEPARSE() 或 DATE() 來轉換日期的計算欄位。處理擷取時請使用 DATEPARSE(),否則請使用 DATE() 函數。
高度延遲限制
Hive 是批次導向的系統,且還無法以快速的周轉時間回答簡單的查詢。此限制使得探索新的資料集或體驗計算欄位變得非常困難。一些更新的 SQL-on-Hadoop 技術(如 Cloudera 的 Impala 和 Hortonworks 的 Stringer 專案等)設計為可用於解決此限制。