基于 Hadoop 生態圈的數據倉庫實踐 —— OLAP 與數據可視化(四)

目錄

四、數據可視化與 Hue 簡介

1. 數據可視化簡介

(1)數據可視化的重要性

(2)數據可視化的用途

(3)實施數據可視化需要考慮的問題

(4)幾種主要的數據可視化工具

2. Hue 簡介

(1)Hue 是什么

(2)Hue 功能快速預覽

(3)配置元數據存儲


四、數據可視化與 Hue 簡介

1. 數據可視化簡介

? ? ? ? 數據可視化在維基百科上是這樣定義的:指一種表示數據或信息的技術,它將數據或信息編碼為包含在圖形里的可見對象(如點、線、條等),目的是將信息更加清晰有效地傳達給用戶,是數據分析或數據科學的關鍵技術之一。簡單地說,數據可視化就是以圖形化方式表示數據。決策者可以通過圖形直觀地看到數據分析結果,從而更容易理解業務變化趨勢或發現新的業務模式。使用可視化工具,可以在圖形或圖表上進行下鉆,以進一步獲得更細節的信息,交互式地觀察數據改變和處理過程。

(1)數據可視化的重要性

? ? ? ? 從人類大腦處理信息的方式看,使用圖形圖表觀察大量復雜數據要比查看電子表格或報表更容易理解。數據可視化就是這樣一種以最為普通的方式,向人快速、簡單傳達信息的技術。通過數據可視化能夠有效地利用數據,幫助人們給諸如以下問題快速提供答案:

  • 需要注意的問題或改進的方向。
  • 影響客戶行為的因素。
  • 確定商品放置的位置。
  • 銷量預測。

? ? ? ? 通過增加數據可視化的使用,能夠使企業更快地發現所要追求的價值。創建更多的信息圖表,讓人們更快地使用更多的資源,獲得更多的信息。同時使人們意識到已經知道很多信息,而這些信息先前就應該是很明顯的,從而增加了人們能夠提出更好問題的可能。它創建了似乎沒有任何聯系的數據點之間的連接,讓人們能夠分辨出有用的和沒用的數據,這樣,就能最大限度的提高生產力,讓信息的價值最大化。

(2)數據可視化的用途

  • 快速理解信息

? ? ? ? 通過使用業務信息的圖形化表示,企業可以以一種清晰的、與業務聯系更加緊密的方式查看大量的數據,根據這些信息制定決策。并且由于相對于電子表格的數據分析,圖形化格式的數據分析要更快,因此企業可以更加及時地發現問題、解決問題。

  • 標識關系和模式

? ? ? ? 即使面對大量錯綜復雜的數據,圖形化表示也使數據變得可以理解。企業能夠識別高度關聯、互相影響的多個因素。這些關系有些是顯而易見的,有些則不易發現。識別這些關系可以幫助組織聚焦于最有可能影響其重要目標的領域。

  • 確定新興趨勢

? ? ? ? 使用數據可視化,可以輔助企業發現業務或市場趨勢,準確定位超越競爭對手的自身優勢,最終影響其經營效益。企業更容易發現影響產品銷量和客戶購買行為的異常數據,并把小問題消滅于萌芽之中。

  • 方便溝通交流

? ? ? ? 一旦從可視化分析中對業務有了更新的深入了解,下一步就需要在組織間溝通這些情況。使用圖表、圖形或其他有效的數據可視化表示在溝通中是非常重要的,因為這種表示更能吸引人的注意,并能快速獲得彼此的信息。

(3)實施數據可視化需要考慮的問題

? ? ? ? 實施一個新技術,需要采取一些步驟。除了扎實地掌握數據外,還需要理解目標、需求和受眾。在組織準備實施數據可視化技術時,先要做好以下功課:

  • 明確試圖可視化的數據,包括數據量和基數(一列數據中不同值的個數)。
  • 確定需要可視化和傳達的信息種類。
  • 了解數據的受眾,并領會他們如何處理可視化信息。
  • 使用一種對受眾來說最優、最簡的可視化方案傳達信息。

? ? ? ? 在關于數據的屬性和作為信息消費者的受眾的相關問題有了答案后,就需要準備與大量的數據打交道了。大數據給可視化帶來新的挑戰,4V(Volume、Velocity、Variety、Veracity)是必須要考慮的問題,而且數據產生的速度經常會比其被管理和分析的速度快。需要可視化的列的基數也是應該重點考慮的因素,高基數意味著該列有大量不同值(如銀行賬號等),而低基數則說明該列有大量重復值(如性別列)。

(4)幾種主要的數據可視化工具

  • Tableau Desktop(主流桌面 BI)
  • Business Object(SAP 收購的 BI 公司)
  • Hyperion(Oracle 收購的 BI 公司)
  • Cognos(IBM 收購的 BI 公司)
  • Pentaho Report(最流行的開源 BI)

2. Hue 簡介

? ? ? ? 前面討論了數據可視化,那么在 Hadoop 生態圈中,有哪些圖形化的用戶界面可以做數據可視化呢?這里就簡單介紹一個常用的 Hadoop 組件 —— Hue。

(1)Hue 是什么

? ? ? ? Hue 是 Hadoop User Experience 的縮寫,是一個開源的 Apache Hadoop UI 系統,最早是由 Cloudera Desktop 演化而來,由 Cloudera 貢獻給開源社區,它是基于 Python Web 框架 Django 實現的。

? ? ? ? 我使用的 CDH 5.7.0 自帶的 Hue 是 3.9.0 版本。通過使用 CDH 的 Hue Web 應用,可以與 Hadoop 集群進行交互。在 Hue 中可以瀏覽 HDFS 和作業,管理 Hive 元數據,運行 Hive、Impala 查詢或 Pig 腳本,瀏覽 HBase,用 Sqoop 導出數據,提交 MapReduce 程序,用 Solr 建立定制的搜索引擎,調度重復執行的 Oozie 工作流等。

? ? ? ? Hue 應用運行在 Web 瀏覽器中,不需要安裝客戶端。其體系結構如下圖所示。

? ? ? ? Hue Server 是 Web 應用的容器,位于 CDH 和瀏覽器之間,是所有 Hue Web 應用的宿主,負責與 CDH 組件通信。

(2)Hue 功能快速預覽

? ? ? ? 可以從 CDH Manager 中的連接登錄 Hue。點擊集群中的 Hue 服務,如下圖所示。

? ? ? ? 在 Hue 頁面點擊 Hue Web UI 鏈接,如下圖所示。

? ? ? ? 這時會打開登錄頁面,要求輸入用戶名/密碼,首次登錄輸入任意字符串,會自動作為管理員的用戶名和密碼,如下圖所示。

? ? ? ? 登錄后 Hue 會進行配置檢查、安裝示例、創建或導入用戶等向導步驟,然后進入 Hue 主頁。我的 Hue 主頁如下圖所示。

? ? ? ? 圖中最上面是導航條,11 個圖標都有超鏈接。Hue 圖標是“關于 Hue”鏈接,點擊進入剛登錄后的向導步驟頁面。第二個是主頁圖標,點擊進入“我的文檔”頁面。后面依次為“查詢數據”、“管理數據”、“使用 Oozie 的計劃”、“管理HDFS”、“管理作業”、“管理”、“文檔”、“演示教程”和“注銷”子菜單或超鏈接。“查詢數據”子菜單包括 Hive、Impala、DB 查詢、Pig 和作業設計器。“管理數據”子菜單包括 Metastore 表和 Sqoop 傳輸。“使用 Oozie 的計劃”包括 WorkFlow、Coordinator、Bundles三種 Oozie 工作流的儀表板和編輯器。“管理”包括編輯配置文件和管理用戶子菜單。

? ? ? ? 這些是 Hue 主要的功能,每個主功能下面的詳細頁面這里就不展示了,都是頁面操作,感興趣的點擊試一下便知。在這些功能特性集合中,“查詢數據”與數據可視化關系最為密切,也是最常使用的功能。在后面實例部分,將會看到與查詢相關的圖形化表示,還會演示其他一些Hue的常用功能。

(3)配置元數據存儲

? ? ? ? 像 Hadoop 的其他組件一樣,Hue 也有很多配置選項,每個選項的具體含義和配置說明可以從 CDH Manager 的 Hue 配置頁或相關文檔中找到。在這需要說明一下的是 Hue 自身的元數據存儲配置。

? ? ? ? Hue 服務器需要一個 SQL 數據庫存儲諸如用戶賬號信息、提交的作業、Hive 查詢等少量數據。CDH 5.7.0 缺省安裝時,Hue 的元數據存儲在一個嵌入式數據庫 SQLite 中,但這種配置并不適用于生產環境。Hue 也支持 MariaDB、MySQL、PostgreSQL、Oracle 等幾種外部數據庫。Cloudera 強烈推薦在 Hue 多用戶環境,特別是生產環境中使用外部數據庫。CDH 5 所支持的數據庫完整列表鏈接在http://www.cloudera.com/documentation/enterprise/latest/topics/cdh_ig_req_supported_versions.html#topic_2。

? ? ? ? 下面說明使用 CDH Manager 配置 Hue 服務器在 MySQL 中存儲元數據的詳細步驟(注意:Cloudera 推薦使用 InnoDB 作為 Hue 的 MySQL 存儲引擎。CDH 5 的 Hue 需要 InnoDB)。

? ? ? ? 配置前需求:

  • 安裝所用操作系統需要的所有類庫。如 CentOS/RHEL 需要的類庫如下:

? ? ? ? ? ? Oracle's JDK (read more here)
? ? ? ? ? ? ant
? ? ? ? ? ? asciidoc
? ? ? ? ? ? cyrus-sasl-devel
? ? ? ? ? ? cyrus-sasl-gssapi
? ? ? ? ? ??cyrus-sasl-plain
? ? ? ? ? ??gcc
? ? ? ? ? ??gcc-c++
? ? ? ? ? ??krb5-devel
? ? ? ? ? ??libffi-devel
? ? ? ? ? ??libtidy (for unit tests only)
? ? ? ? ? ??libxml2-devel
? ? ? ? ? ??libxslt-devel
? ? ? ? ? ??make
? ? ? ? ? ??mvn (from apache-maven package or maven3 tarball)
? ? ? ? ? ??mysql
? ? ? ? ? ??mysql-devel
? ? ? ? ? ??openldap-devel
? ? ? ? ? ??python-devel
? ? ? ? ? ??sqlite-devel
? ? ? ? ? ??openssl-devel (for version 7+)
? ? ? ? ? ??gmp-devel

? ? ? ? 各操作系統需要的類庫完整列表鏈接在https://github.com/cloudera/hue#development-prerequisites。

  • 確認 Hue Server 運行在 Python 2.6 或以上版本上。
  • 安裝了 MySQL 數據庫(MySQL 數據庫的安裝配置詳見Install and Configure MySQL for Cloudera Software | 6.3.x | Cloudera Documentation)。
  1. 在 Cloudera Manager 管理控制臺中,從服務列表中點擊“Hue”進入Hue服務狀態頁面。
  2. 選擇“操作” > “停止”,停止 Hue 服務,如下圖所示。

  3. 選擇“操作” > “轉儲數據庫”,將元數據庫轉儲為一個 json 文件中。
  4. 注意在“轉儲數據庫”命令執行窗口中,確認轉儲文件所在的主機,如下圖所示。

  5. 在該主機上打開一個終端窗口,編輯 /tmp/hue_database_dump.json 文件,去掉文件中 useradmin.userprofile 段中的所有 JSON 對象,例如:
    {
    "pk": 14,
    "model": "useradmin.userprofile",
    "fields":
    { "creation_method": "EXTERNAL", "user": 14, "home_directory": "/user/tuser2" }
    },
  6. 在 /etc/my.cnf 文件中設置 MySQL 嚴格模式。
    [mysqld]
    sql_mode=STRICT_ALL_TABLES
  7. 在 MySQL 中建立一個新的數據庫并授予一個Hue用戶該庫的管理員權限,例如:
    mysql> create database hue;
    Query OK, 1 row affected (0.01 sec)
    mysql> grant all on hue.* to 'hue'@'localhost' identified by 'secretpassword';
    Query OK, 0 rows affected (0.00 sec)
  8. 在 Cloudera Manager 管理控制臺,點擊“Hue”服務。
  9. 點擊“配置”標簽。
  10. “類別”選擇“數據庫”。
  11. 指定 Hue 數據庫的類型、主機名、端口、用戶名、密碼和數據庫名。例如下圖所示。

  12. 在新數據庫還原 Hue 的元數據。

? ? ? ? ? ? a. 選擇“操作” > “同步數據庫”。
? ? ? ? ? ? b. 確認外鍵,如下圖所示。

$ mysql -uhue -psecretpassword
mysql > SHOW CREATE TABLE auth_permission\G
mysql > SHOW CREATE TABLE desktop_document\G
mysql > SHOW CREATE TABLE django_admin_log\G

? ? ? ? ? ? c. 刪除上一步查出的外鍵。

mysql > ALTER TABLE auth_permission DROP FOREIGN KEY content_type_id_refs_id_d043b34a;
mysql > ALTER TABLE desktop_document DROP FOREIGN KEY content_type_id_refs_id_800664c4;
mysql > ALTER TABLE django_admin_log DROP FOREIGN KEY content_type_id_refs_id_93d2d1f8;

? ? ? ? ? ? d. 刪除 django_content_type 表里的數據。

DELETE FROM hue.django_content_type;

? ? ? ? ? ? e. 在 Hue 服務頁,點擊“操作” > “加載數據庫”。
? ? ? ? ? ? f. 添加 c 步刪除的外鍵。

mysql > ALTER TABLE auth_permission ADD FOREIGN KEY (content_type_id) REFERENCES django_content_type (id);
mysql > ALTER TABLE desktop_document ADD FOREIGN KEY (content_type_id) REFERENCES django_content_type (id);
mysql > ALTER TABLE django_admin_log ADD FOREIGN KEY (content_type_id) REFERENCES django_content_type (id);

? ? ? ? 13. 啟動 Hue 服務。

? ? ? ? 如果在上述步驟中報類似“libmysqlclient.so.16: cannot open shared object file: No such file or directory”這種錯誤,說明 MySQL 的類庫和 Hue 所需的不兼容,這時只需下載兼容版本的庫文件,并放置到 /usr/lib64 目錄,再操作就不會報錯了。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/917386.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/917386.shtml
英文地址,請注明出處:http://en.pswp.cn/news/917386.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

HarmonyOS 開發:基于 ArkUI 實現復雜表單驗證的最佳實踐

摘要 在現代應用開發中,表單是最常見的交互方式之一。不管是用戶注冊、信息錄入,還是登錄驗證,表單的可靠性直接影響用戶體驗。而在鴻蒙 ArkUI 開發中,雖然表單結構清晰,但要實現 復雜驗證(比如&#xff1a…

高效游戲狀態管理:使用雙模式位運算與數學運算

在游戲開發中,狀態管理是一個核心問題。無論是任務系統、成就系統還是玩家進度跟蹤,我們都需要高效地存儲和查詢大量狀態。本文將深入分析一個創新的游戲狀態管理工具類 GameStateUtil,它巧妙結合了位運算和數學運算兩種模式,在存…

linux-process-control

Linux進程控制 1. 進程終止 1.1. 進程終止的本質是回收資源 1.1 釋放資源 內存資源: 釋放進程的地址空間(mm_struct),包括代碼段、數據段、堆、棧等,通過寫時復制(CoW)共享的頁會減少引用計數&a…

Autoswagger:揭露隱藏 API 授權缺陷的開源工具

Autoswagger 是一款免費的開源工具,用于掃描 OpenAPI 文檔中列出的 API,查找授權漏洞。 即使在擁有成熟安全團隊的大型企業中,這類漏洞仍然很常見,而且尤其危險,因為即使技術水平不高的人也能利用它們。 Autoswagger…

Golang 語言 Channel 的使用方式

一、無緩存 channel無緩沖channel 可用于兩個goroutine 之間 傳遞信號,比如以下示例:順序打印1 至 100 的奇數和偶數:import ("fmt""time" )func main() {block : make(chan struct{})go odd(block)go even(block)time.S…

Element Plus常見基礎組件(一)

基礎組件 Button 按鈕 一、基礎用法 <el-button>默認按鈕</el-button> <el-button type"primary">主要按鈕</el-button>二、按鈕類型 (type) 類型說明示例代碼default默認按鈕<el-button>默認</el-button>primary主要按鈕&a…

sdxl量化加速筆記

文章目錄一、量化加速sdxl模型1&#xff09;涉及模型2&#xff09;環境安裝3&#xff09;轉換模型safetensor to pytorch文件4&#xff09;tensorRT的環境準備&#xff08;1&#xff09;下載tensorRT 10.10&#xff08;2&#xff09;下載cuda一、量化加速sdxl模型 1&#xff0…

西門子 G120 變頻器全解析:從認知到參數設置

在工業自動化領域&#xff0c;變頻器作為電機驅動的核心設備&#xff0c;其穩定運行與精準控制直接影響生產效率。西門子 G120 變頻器憑借可靠性能與靈活配置&#xff0c;成為眾多工業場景的優選。本文將從基礎認知、操作面板到參數設置&#xff0c;全方位帶你掌握 G120 變頻器…

【自動化運維神器Ansible】YAML支持的數據類型詳解:構建高效Playbook的基石

目錄 1 YAML數據類型概述 1.1 為什么數據類型很重要&#xff1f; 1.2 YAML數據類型分類 2 標量類型&#xff08;Scalars&#xff09; 2.1 字符串&#xff08;String&#xff09; 2.2 布爾值&#xff08;Boolean&#xff09; 2.3 數值&#xff08;Numbers&#xff09; 2…

基于崗位需求的康養休閑旅游服務實訓室建設方案

一、康養休閑旅游服務實訓室建設方案建設需求分析康養休閑旅游服務行業的快速發展對技能人才提出了精準化、場景化的能力要求&#xff0c;康養休閑旅游服務實訓室建設方案需緊密對接健康咨詢、接待服務、康樂服務等核心崗位群的實際需求。從崗位技能來看&#xff0c;健康咨詢崗…

MES 與工業物聯網(IIoT)的化學反應:為何是智能工廠的 “神經中樞”?

從“被動救火”到“主動預警”的工廠革命想象一下&#xff0c;當你正在家中熟睡時&#xff0c;智能手環突然震動&#xff0c;提醒你心率異常&#xff1b;早上出門前&#xff0c;手機 APP 告訴你愛車的某個零件即將達到磨損極限&#xff0c;建議及時更換。這些日常生活中的智能預…

工作好用小工具積累

1、內部環境太多&#xff0c;網站導航git地址&#xff1a;https://github.com/hslr-s/sun-panel/releases gitee地址&#xff1a;https://gitee.com/luofei1284999247/sun-panel

智能Agent場景實戰指南 Day 26:Agent評估與性能優化

【智能Agent場景實戰指南 Day 26】Agent評估與性能優化 開篇 歡迎來到"智能Agent場景實戰指南"系列的第26天&#xff01;今天我們將深入探討智能Agent的評估方法與性能優化技術。構建高效、可靠的智能Agent系統需要完善的評估體系和優化策略&#xff0c;本文將系統…

機器學習——下采樣(UnderSampling),解決類別不平衡問題,案例:邏輯回歸 信用卡欺詐檢測

過采樣&#xff1a; 機器學習——過采樣&#xff08;OverSampling&#xff09;&#xff0c;解決類別不平衡問題&#xff0c;案例&#xff1a;邏輯回歸 信用卡欺詐檢測-CSDN博客 &#xff08;完整代碼在底部&#xff09; 使用下采樣解決類別不平衡問題 —— 以信用卡欺詐識別為…

Qt 槽函數被執行多次,并且使用Qt::UniqueConnection無效【已解決】

Qt 槽函數被執行多次&#xff0c;并且使用Qt::UniqueConnection無效引言一、問題描述二、解決方案三、深入了解信號和槽綁定機制引言 之前剛遇到 - 信號和槽正常連接返回true&#xff0c;但發送信號后槽函數無響應問題&#xff0c;現在又遇到槽函數執行多次&#xff0c;使用Qt…

Autosar Nm-網管報文PNC停發后無法休眠問題排查

文章目錄前言Autosar CanNm標準中的相關參數CanNmAllNmMessagesKeepAwakePN過濾功能CanNm_ConfirmPnAvailability問題描述問題原因排查解決方案擴展總結前言 Autosar Nm中針對于支持PN功能的收發器&#xff0c;要求PNC停發后允許進入休眠模式&#xff0c;開發過程中遇到PNC停發…

RK3568下的進程間通信:基于UDP的mash網絡節點通信

基于UDP的mash網絡節點通信系統實現: 最近的項目中需要實現一個功能,類似mash網絡的功能,比如 類似下圖中的多個節點之間,相互之間通信, 節點A自身的通信列表中,只有B和C,所以A發出的消息給B和C,依次類推,A發送的消息所有節點都能收到,同理,其他節點比如K節點發送的…

Effective C++ 條款17:以獨立語句將newed對象置入智能指針

Effective C 條款17&#xff1a;以獨立語句將newed對象置入智能指針核心思想&#xff1a;使用智能指針管理動態分配的對象時&#xff0c;必須確保new操作與智能指針構造在同一獨立語句中完成&#xff0c;避免編譯器優化順序導致的內存泄漏。 ?? 1. 跨語句初始化的危險性 資源…

Linux iptables防火墻操作

資料&#xff1a; 網絡運維相關 - iptables 【Main】 https://www.zsythink.net/archives/tag/iptables/ netfilter 在 Linux 內核 TCP/IP協議棧中的位置 【框架】【Aulaxiry】 https://zhuanlan.zhihu.com/p/93630586 1 概念詳解 ● 防火墻概念 ○ 主機防火墻 網絡防火墻 ○…

飛書推送工具-自動化測試發送測試報告一種方式

飛書推送工具 要獲取飛書開發所需的 APP_ID、APP_SECRET 以及用戶的 USER_ID&#xff0c;需通過飛書開放平臺和飛書客戶端的相關設置操作。以下是詳細步驟&#xff1a; 一、獲取 APP_ID 和 APP_SECRET&#xff08;飛書應用憑證&#xff09; APP_ID 和 APP_SECRET 是飛書開放…