開源數據視覺化Web 應用程式Superset串連可擴展分佈式分析引擎BigQuery:啟動指南

更新於 發佈於 閱讀時間約 6 分鐘

raw-image

應用場景:

客戶有數據分析的需求,本身對tableau有使用經驗也比較熟悉,但是當下公司是沒有訂閱tableau服務來進行數據分析,日後如果要轉移伺服器也比較麻煩,tableau的訂閱是以公司為單位,如果使用Superset,一來superset是開源專案,無費用的產生,二來轉移系統也是比較方便。

之所以會選擇Bigquery做為查詢引擎,主要還是日後遷移至雲端的預備方便,無伺服器的資料倉儲系統,高擴充性與成本的考量,免費方案有 10 GB 的儲存空間以及每月 1 TB 的查詢量。

Superset 簡介

Apache Superset是一個數據瀏覽和可視化Web 應用程序。Superset特性: 支持幾乎所有主流的數據庫,包括MySQL、PostgresSQL、Oracle、SQL Server、SQLite、SparkSQL 等,並深度支持Druid。豐富的可視化展示,支持自定義創建dashboard。

Druid:

是用Java編寫的面向列的開放源代碼分佈式數據存儲。Druid旨在快速獲取大量事件數據,並在數據之上提供低延遲查詢。

Druid這個名字來自許多角色扮演遊戲中變形的Druid類,以反映系統的體系結構可以改變以解決不同類型的數據問題。

Druid通常用於BI OLAP應用程序,以分析大量的實時和歷史數據。

BigQuery 簡介

BigQuery 是一個完全託管的企業數據倉庫,可通過機器學習、地理空間分析和商業智能等內置功能幫助您管理和分析數據。BigQuery 的無服務器架構讓您可以使用 SQL 查詢以零基礎架構管理來回答您組織的最大問題。BigQuery 可擴展的分佈式分析引擎讓您可以在幾秒鐘內查詢 TB 字節,在幾分鐘內查詢 PB 字節。

  • 安裝 Docker Engine 和 Docker Compose
  • 下載 github 的 Superset
  • 使用Docker compose 安裝
  • 登錄Superset
  • 安裝BigQuery 驅動
  • 連接到BigQuery

1. 安裝 Docker Engine 和 Docker Compose

Mac OSX

安裝 Docker for Mac,其中包括 Docker 引擎和docker-compose開箱即用的最新版本。

安裝 Docker for Mac 後,打開 Docker 的首選項面板,轉到“資源”部分並將分配的內存增加到 6GB。默認情況下僅分配 2GB 的 RAM,Superset 將無法啟動。

2. 下載 github 的 Superset

$ git clone https://github.com/apache/superset.git

該命令成功完成後,您應該superset會在當前目錄中看到一個新文件夾。

3. 使用Docker compose 安裝

導航到您在步驟 1 中創建的文件夾:

$ cd superset

運行以下命令:

$ docker-compose -f docker-compose-non-dev.yml pull
$ docker-compose -f docker-compose-non-dev.yml up

4. 登錄Superset

您的本地 Superset 實例還包括一個 Postgres 服務器來存儲您的數據,並且已經預加載了一些與 Superset 一起提供的示例數據集。您現在可以通過您的網絡瀏覽器訪問 Superset 訪問http://localhost:8088

raw-image

使用默認用戶名和密碼登錄:

username: admin
password: admin

raw-image

5.安裝 BigQuery 驅動

開啟終端機

創建requirements-local.txt

# From the repo root...
touch ./docker/requirements-local.txt

添加在上面步驟中選擇的驅動程序:

echo "pybigquery" >> ./docker/requirements-local.txt

使用內置的新驅動程序重建本地映像:

docker-compose build --force-rm

Docker 鏡像的重建完成後(這需要幾分鐘),您可以使用以下命令重新啟動:

docker-compose up

6.連接到BigQuery

在 Superset 中添加新的 BigQuery 連接時,您需要添加 GCP 服務帳戶憑據文件(作為 JSON)。

  1. 通過 Google Cloud Platform 控制面板創建您的服務帳戶,為其提供對相應 BigQuery 數據集的訪問權限,並下載服務帳戶的 JSON 配置文件。
  2. 在 Superset 中,您可以上傳該 JSON 或添加以下格式的 JSON blob(這應該是您的憑證 JSON 文件的內容):
# 這是範例
{
"type": "service_account",
"project_id": "...",
"private_key_id": "...",
"private_key": "...",
"client_email": "...",
"client_id": "...",
"auth_uri": "...",
"token_uri": "...",
"auth_provider_x509_cert_url": "...",
"client_x509_cert_url": "..."
}

進入Google Cloud 控制台後

依序點選

IAM與管理->服務帳戶->點選服務帳戶->

金鑰->新增金鑰->建立新的金鑰->Json

即可下載Json file

回到Superset,點選Databese

raw-image

點選 +DATABASE

raw-image

選擇BigQuery

raw-image

上傳Json file

raw-image

接下來您就可以在Superset 操作BigQuery了

raw-image

測試是否可以操作BigQuery的Public Dataset

raw-image

raw-image

參考資料

https://superset.apache.org/docs/databases/bigquery/

作者:黃翊鈜 Roy Hwang

經歷:ML engineer , AI engineer

avatar-img
1會員
24內容數
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
你可能也想看
Google News 追蹤
提問的內容越是清晰,強者、聰明人越能在短時間內做判斷、給出精準的建議,他們會對你產生「好印象」,認定你是「積極」的人,有機會、好人脈會不自覺地想引薦給你
Thumbnail
Supermicro, Inc.為AI、雲端、儲存和 5G/邊緣領域的全方位 IT 解決方案製造商,宣布推出可搭配NVIDIA Omniverse™平台的全新SuperCluster,擴增其SuperCluster隨插即用AI基礎架構解決方案組合,並能提供企業級的高效生成式AI強化型3D工作流程。
Thumbnail
Power BI 是微軟開發的商業智能工具,專為數據可視化和分析設計。它能整合多種數據來源,並將數據轉化為互動式圖表和報表。支持即時更新的儀表板和自然語言查詢,讓用戶快速獲取洞察。其協作和分享功能方便團隊合作,而移動應用支持隨時隨地訪問數據。可以幫助企業做出數據驅動的決策,提高業務效率和競爭力。
Thumbnail
Ruby on Rails 是一個使用 Ruby 語言編寫的開源 Web 應用程式框架。 PostgreSQL 是一個強大、開源的物件關聯式資料庫系統,擁有超過 35 年的活躍開發歷程,並以其可靠性、功能強大性和效能而享有盛譽。 PostgreSQL 提供許多特定資料類型,以下是 Rails 支
Thumbnail
本文介紹了 Docker 的基礎概念,以及在軟體工程環境中的運用。藉由 Docker 的容器化技術和映像檔技術,能夠實現開發和生產環境的一致性,並且支持負載平衡和無縫更新。此外,也提到了 Kubernetes 和 Docker Swarm 這兩個重要工具的用途和適用對象。
Thumbnail
Rush 為管理大型存儲庫的工具,適用於處理多個互相依賴的專案。本篇文章教導讀者如何全域安裝 Rush,進行專案初始化並在專案內添加相關檔案。同時也提供瞭如何將其他專案加入以及在專案中引入其他套件的方法。文章詳細介紹了 Rush 的主要功能和各種配置檔案的作用。另外,也提供了一些相關的參考資料。
Thumbnail
Tableau是一款數據視覺化工具,目的在於簡化數據分析和決策過程。通過直觀的可視化介面,讓人們無需編程也能進行數據探索和分析。支持多種數據源,包括Excel、SQL數據庫等,透過拖放操作創建圖表和儀表板,分享洞察見解。幫助使用者和組織更加數據驅動,優化決策和業務流程
※ MySQL是什麼? MySQL是一種開源(免費)的關聯式資料庫管理系統,所以任何人都可以免費使用,是Web開發中最常用的資料庫之一。MySQL 會將資料儲存在由資料列與資料欄組成的資料表中。使用者可使用結構化查詢語言 (通常稱為 SQL) 來定義、操控、控管及查詢資料。  簡單來說,資料
Thumbnail
在這個星光閃爍的數據宇宙中,SQL是一把鑰匙,開啟了通往知識寶庫的大門。想像一下,每一條SELECT語句都像是一段魔法咒語,喚醒沉睡在數據庫深處的信息。今天,我們就要一起踏上這段探秘之旅,將揭開SQL基本查詢指令的神秘面紗,學習如何巧妙地與數據對話。
Thumbnail
BigQuery 是 Google 推出的無伺服器資料倉儲方案,內建有查詢引擎(類似於 SQL),查詢引擎除了可以方便管理外,也能夠在短時間內對數 TB 的數據進行撈取。相較於其他的資料倉儲解決方案相比,它的成本較低,但如果你的資料量太大有可能成本還是超出你的預期
提問的內容越是清晰,強者、聰明人越能在短時間內做判斷、給出精準的建議,他們會對你產生「好印象」,認定你是「積極」的人,有機會、好人脈會不自覺地想引薦給你
Thumbnail
Supermicro, Inc.為AI、雲端、儲存和 5G/邊緣領域的全方位 IT 解決方案製造商,宣布推出可搭配NVIDIA Omniverse™平台的全新SuperCluster,擴增其SuperCluster隨插即用AI基礎架構解決方案組合,並能提供企業級的高效生成式AI強化型3D工作流程。
Thumbnail
Power BI 是微軟開發的商業智能工具,專為數據可視化和分析設計。它能整合多種數據來源,並將數據轉化為互動式圖表和報表。支持即時更新的儀表板和自然語言查詢,讓用戶快速獲取洞察。其協作和分享功能方便團隊合作,而移動應用支持隨時隨地訪問數據。可以幫助企業做出數據驅動的決策,提高業務效率和競爭力。
Thumbnail
Ruby on Rails 是一個使用 Ruby 語言編寫的開源 Web 應用程式框架。 PostgreSQL 是一個強大、開源的物件關聯式資料庫系統,擁有超過 35 年的活躍開發歷程,並以其可靠性、功能強大性和效能而享有盛譽。 PostgreSQL 提供許多特定資料類型,以下是 Rails 支
Thumbnail
本文介紹了 Docker 的基礎概念,以及在軟體工程環境中的運用。藉由 Docker 的容器化技術和映像檔技術,能夠實現開發和生產環境的一致性,並且支持負載平衡和無縫更新。此外,也提到了 Kubernetes 和 Docker Swarm 這兩個重要工具的用途和適用對象。
Thumbnail
Rush 為管理大型存儲庫的工具,適用於處理多個互相依賴的專案。本篇文章教導讀者如何全域安裝 Rush,進行專案初始化並在專案內添加相關檔案。同時也提供瞭如何將其他專案加入以及在專案中引入其他套件的方法。文章詳細介紹了 Rush 的主要功能和各種配置檔案的作用。另外,也提供了一些相關的參考資料。
Thumbnail
Tableau是一款數據視覺化工具,目的在於簡化數據分析和決策過程。通過直觀的可視化介面,讓人們無需編程也能進行數據探索和分析。支持多種數據源,包括Excel、SQL數據庫等,透過拖放操作創建圖表和儀表板,分享洞察見解。幫助使用者和組織更加數據驅動,優化決策和業務流程
※ MySQL是什麼? MySQL是一種開源(免費)的關聯式資料庫管理系統,所以任何人都可以免費使用,是Web開發中最常用的資料庫之一。MySQL 會將資料儲存在由資料列與資料欄組成的資料表中。使用者可使用結構化查詢語言 (通常稱為 SQL) 來定義、操控、控管及查詢資料。  簡單來說,資料
Thumbnail
在這個星光閃爍的數據宇宙中,SQL是一把鑰匙,開啟了通往知識寶庫的大門。想像一下,每一條SELECT語句都像是一段魔法咒語,喚醒沉睡在數據庫深處的信息。今天,我們就要一起踏上這段探秘之旅,將揭開SQL基本查詢指令的神秘面紗,學習如何巧妙地與數據對話。
Thumbnail
BigQuery 是 Google 推出的無伺服器資料倉儲方案,內建有查詢引擎(類似於 SQL),查詢引擎除了可以方便管理外,也能夠在短時間內對數 TB 的數據進行撈取。相較於其他的資料倉儲解決方案相比,它的成本較低,但如果你的資料量太大有可能成本還是超出你的預期