[Big Data] Visuelles Dashboard – Installation und Verwendung von Superset

Vorne steht geschrieben: Der Blogger ist ein „kleines Bergschwein“, das sich nach tatsächlicher Entwicklung und Erfahrung dem Trainingsgeschäft verschrieben hat. Sein Spitzname ist von „Peng Peng“ aus dem Zeichentrickfilm „Der König der Löwen“ abgeleitet. Er behandelt immer die Menschen mit einer optimistischen und positiven Einstellung umgeben. Sache. Mein technischer Weg hat den ganzen Weg von einem Java-Full-Stack-Ingenieur bis hin zum Bereich der Big-Data-Entwicklung und des Data-Mining zurückgelegt. Jetzt habe ich einige Erfolge erzielt. Ich möchte mit Ihnen teilen, was ich in der Vergangenheit erreicht habe. Das hoffe ich Es wird Ihnen auf dem Weg zum Lernen hilfreich sein. Gleichzeitig möchte der Blogger durch diesen Versuch auch eine vollständige technische Bibliothek aufbauen. Alle Ausnahmen, Fehler und Vorsichtsmaßnahmen im Zusammenhang mit den technischen Punkten des Artikels werden am Ende aufgelistet. Sie können Materialien gerne auf verschiedene Weise bereitstellen .

  • Bitte kritisieren Sie den Artikel, machen Sie auf etwaige Fehler aufmerksam und korrigieren Sie diese rechtzeitig.
  • Wenn Sie Fragen haben, die Sie besprechen und lernen möchten, kontaktieren Sie mich bitte: [email protected].
  • Der Stil der Veröffentlichung von Artikeln variiert von Kolumne zu Kolumne und sie sind alle in sich geschlossen. Bitte korrigieren Sie mich, wenn es Mängel gibt.

Visuelles Dashboard – Installation und Verwendung von Superset

Schlüsselwörter in diesem Artikel: Obermenge, Visualisierung, Ubuntu, Installation

1. Einführung in Superset

Apache Superset ist eine moderne Datenexplorations- und Visualisierungsplattform der Enterprise-Klasse, die Dateningenieuren und Wissenschaftlern dabei helfen soll, verschiedene Arten von Datenerkenntnissen auf einer Weboberfläche zu erstellen und zu teilen.

1. Funktion der Software

Die unterste Ebene von Apache Superset ist eine Flask- Anwendung. Zu ihren Kernfunktionen gehören Datenvisualisierung, Dashboard-Erstellung, Daten-Slicing und -Dicing sowie SQL Lab. In der Anwendungsstruktur von Superset übernimmt die Flask-Anwendung das Routing, die Ansichtsfunktionen und das Rendern von Vorlagen, während SQLAlchemy abstrakten Zugriff auf verschiedene Datenbanken bereitstellt.
Apache Superset unterstützt mehrere Datenquellen und kann mit jeder SQL-sprechenden Datenbank oder Daten-Engine (wie MySQL, Postgres, BigQuery, Redshift usw.) verbunden werden und unterstützt außerdem verschiedene Big-Data-Komponenten wie Hive, Presto, Druid usw ., muss nur installiert werden. Einige Komponenten sind in Ordnung.

2. Softwarefunktionen

  • Es verfügt über eine umfangreiche Komponentenbibliothek für die Datenvisualisierung und bietet eine Vielzahl von Diagrammtypen, um verschiedene Anforderungen an die Datenanzeige zu erfüllen
  • Verwenden Sie SQL Lab, um SQL-Abfragen direkt auszuführen, was bequem und schnell ist
  • Mobilfreundlich mit responsivem Design
  • Mit der leistungsstarken Datenrechteverwaltungsfunktion können die Datenzugriffsrechte jedes Benutzers genau gesteuert werden

2. Superset-Installation

1. Vorumgebung

Die Software muss auf Python 3.6 und höher laufen. Es wird empfohlen, eine virtuelle Umgebung zu verwenden. Die offiziellen Installationsschritte sind: https://superset.apache.org/docs/installation/installing-superset-from-scratch/ .

  • Virtualenv-Installation: pip install virtualenv
  • Erstellen Sie eine virtuelle Umgebung: python3 -m venv superset
  • Aktivieren Sie die virtuelle Umgebung: .superset/bin/activate
  • Installation vor der Umgebung

Bevor Sie mit der Installation beginnen, müssen Sie sicherstellen, dass in der Systemumgebung und der virtuellen Python-Umgebung Folgendes installiert ist:

sudo apt-get update
sudo apt-get install build-essential
sudo apt-get install python3-dev

pip install wheel

2. Installationskonfiguration

  • Superset installieren: pip install apache-superset

  • Voreingestellt
# 推荐添加到环境变量配置文件中
export FLASK_APP=superset
superset fab create-admin


An dieser Stelle wird eine Warnung angezeigt. Ich kann die folgenden Schritte ausführen, um das Problem zu lösen:

touch superset_config.py

# 推荐添加到环境变量配置文件中
export SUPERSET_CONFIG_PATH=/home/hadoop/superset/superset_config.py
superset fab create-admin

Konfigurieren Sie den Pfad von SUPERSET_CONFIG_PATH , zeigen Sie auf die gerade erstellte Konfigurationsdatei und starten Sie sie nach Abschluss erneut.

  • Fehlerbehebung

Der Autor hat beim Ausführen des Befehls den folgenden Fehler gemeldet:

Dies wird durch die Inkompatibilität von sqlparse verursacht. 0.4.4 ist standardmäßig installiert und die Version kann mit dem folgenden Befehl bestätigt werden:

pip show sqlparse

Zu diesem Zeitpunkt muss es auf 0.4.3 heruntergestuft werden. Dies liegt daran, dass das minimale Versionsintervall der von mir installierten Obermenge 0.4.3 beträgt. Wenn Sie eine andere Version auswählen, gehen Sie bitte entsprechend der tatsächlichen Situation vor:

pip uninstall sqlparse
pip install sqlparse==0.4.3

3. Zugriff einleiten

Nachdem die vorherigen Initialisierungsschritte abgeschlossen sind, können einige Beispieldaten importiert und dann gestartet werden. Bevor alle Vorgänge ausgeführt werden, ist eine Initialisierung erforderlich.

  • Beispieldaten importieren
# 初始化命令
superset db upgrade
# 加载数据,耗时较长
superset load_examples
  • Supersatz-Build

Zuerst müssen Sie den Quellcode des Front-End-Projekts herunterladen und dann sicherstellen, dass das System die Node- Umgebung installiert hat. Die derzeit vom Editor verwendete Version erfordert Knoten 16.9.1 oder höher, npm 7.5.4 || 8.1.2 oder höher. Hier ist ein Beispiel für die Installation von Knoten 16.x.

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


Wichtige Erinnerung : Bitte stellen Sie sicher, dass die Hauptversionen von NodeJS konsistent sind. Andernfalls müssen Sie Wege finden, verschiedene Konstruktionsprobleme selbst zu lösen. Wenn Sie auf einen RpcIpcMessagePortClosedError-Fehler stoßen, wird dieser normalerweise durch unzureichenden Speicher verursacht. Bitte versuchen Sie, den Speicher zu vergrößern.

# 安装构建所需环境
sudo apt  install curl
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo npm install -g npm@latest
sudo npm install -g node-gyp
# ARM架构需要手动安装chromium-browser
sudo apt install chromium-browser
# 构建前端项目
npm ci
# 预先解决一些构建中遇到的问题
npx update-browserslist-db@latest
# 该步骤耗时较长 - 需要保证可用内存在4GB以上
npm run build
  • Supersatz-Start
# 切换到superset-frontend的上一级目录
cd ..
superset run -p 8088 --with-threads --reload --debugger

  • Superset-Zugriff

Greifen Sie nach dem Start einfach im Browser auf Port 8088 zu und melden Sie sich mit dem bei der vorherigen Initialisierung festgelegten Passwort an:

Sie können sehen, dass die zuvor importierten Beispiele angezeigt wurden:

3. Konfiguration der Datenquelle

In der oberen rechten Ecke der Bedienoberfläche werden mehrere Möglichkeiten zum Hinzufügen von Datenquellen unterstützt. In diesem Artikel wird die Datenbankverbindungsmethode vorgestellt.

1. PostgreSQL

  • Abhängigkeitsinstallation

Wenn Sie eine Verbindung zu PostgreSQL herstellen, müssen Sie die zugehörigen Abhängigkeiten installieren, bevor Sie das Projekt starten. Führen Sie nach der Aktivierung der übergeordneten virtuellen Umgebung den folgenden Befehl aus:

pip install psycopg2-binary
  • Verbindungskonfiguration

In der Konfigurationsoberfläche werden standardmäßig zwei direkte Importmethoden unterstützt, PostgreSQL und SQLite:

Wählen Sie PostgreSQL aus, um die Konfigurationsoberfläche aufzurufen:

Nachdem die Verbindung erfolgreich hergestellt wurde, können Sie mit der Erstellung eines DATASET beginnen , oder Sie können auch Folgendes verwenden: nachdem Sie auf FERTIG

geklickt haben , klicken Sie erneut auf ➕ in der oberen rechten Ecke, dann erscheint unter das Menü „Daten erstellen Datensatz erstellen“ .

2. MySQL

Wenn Sie nach dem Hinzufügen einer Datenbankverbindung erneut eine weitere Datenquelle hinzufügen möchten, können Sie die folgenden Schritte ausführen:

Anschließend sehen Sie die Schaltfläche zum erneuten Hinzufügen von DATABASE in der Bedienoberfläche, wie in der Abbildung dargestellt:

  • Abhängigkeitsinstallation

Wenn Sie eine Verbindung zu MySQL herstellen, müssen Sie die zugehörigen Abhängigkeiten installieren, bevor Sie das Projekt starten. Führen Sie nach der Aktivierung der übergeordneten virtuellen Umgebung den folgenden Befehl aus:

sudo apt-get install libmysqlclient-dev
pip install mysqlclient
  • Verbindungskonfiguration

Wählen Sie in der Konfigurationsoberfläche „Andere“ aus und konfigurieren Sie direkt über die Verbindungszeichenfolge:

Die Verbindungszeichenfolge hat das Format SQLAlchemy URI -> mysql://username:password@hostname:port/database

3. Bienenstock

  • Abhängigkeitsinstallation

Wenn Sie eine Verbindung zu Hive herstellen, müssen Sie die zugehörigen Abhängigkeiten installieren, bevor Sie das Projekt starten. Führen Sie nach der Aktivierung der übergeordneten virtuellen Umgebung den folgenden Befehl aus:

pip install PyMySQL
pip install pyhive
pip install thrift
sudo apt-get install python-dev libsasl2-dev
pip install sasl
pip install thrift_sasl

Stellen Sie vor dem Herstellen einer Verbindung sicher, dass Hive-bezogene Dienste gestartet wurden. Spezifische Schritte finden Sie unter: Hive 3.x Installation und Bereitstellung – Ubuntu

  • Verbindungskonfiguration

Wählen Sie in der Konfigurationsoberfläche „Andere“ aus und konfigurieren Sie sie direkt über die Verbindungszeichenfolge:

Die Verbindungszeichenfolge hat das Format SQLAlchemy URI -> hive://username:password@hostname:port/database

. Nachdem der Verbindungstest bestanden wurde, wird möglicherweise eine Meldung angezeigt erscheint, wenn Sie auf die Schaltfläche VERBINDEN klicken. Eine Ausnahme, die nicht verbunden werden kann, aber nach dem eigentlichen Test stellte der Editor fest, dass sie keine Auswirkungen hatte. Zu diesem Zeitpunkt wurde die Verbindung erfolgreich hergestellt. Wir müssen lediglich das Popup-Fenster schließen und dann die Seite aktualisieren. Die anschließende Verwendung verläuft normal.

4. Sonstige Anweisungen

Wenn wir der virtuellen Superset-Umgebung weiterhin Abhängigkeiten hinzufügen, die für verschiedene Verbindungen erforderlich sind, und entsprechende Verbindungstypen erstellen, wird die Betriebsschnittstelle immer umfangreicher: Wenn die Art der Datenquelle, die wir benötigen, grundsätzlich stabil ist, können wir den Superset-Prozess

aufhängen im Hintergrund laufen, damit wir uns auf die Visualisierungsarbeit konzentrieren können:

# 进入到对应目录后执行
nohup superset run -p 8088 --with-threads --reload --debugger &

Scannen Sie den QR-Code unten, treten Sie der offiziellen CSDN-Fan-WeChat-Gruppe bei, Sie können direkt mit mir kommunizieren und es gibt noch weitere Vorteile~
Fügen Sie hier eine Bildbeschreibung ein

Supongo que te gusta

Origin blog.csdn.net/u012039040/article/details/131256295
Recomendado
Clasificación