# Menghubungkan Apache Superset

Dalam artikel ini, kami akan menjelaskan proses menghubungkan Apache Superset ke database analitik. Untuk lebih memperjelas, kami juga akan membuat dashboard yang terhubung ke database analitik dan memantau status waktu-nyata kendaraan, semuanya menggunakan Apache Superset.

{% hint style="info" %}
Panduan ini adalah bagian dari **IoT Query** rangkap dokumentasi dan secara khusus membahas menghubungkan Power BI ke gudang data Anda. Jika Anda masih memutuskan alat BI mana yang akan digunakan, lihat [Memilih alat BI](https://www.navixy.com/docs/analytics/id/iot-query/connection-setup/selecting-bi-tools) ikhtisar.
{% endhint %}

## Fitur dashboard

* Menampilkan jumlah total objek
* Memvisualisasikan status pergerakan kendaraan (bergerak/berhenti/parkir)
* Memvisualisasikan status koneksi (aktif/idle/offline)
* Tabel rinci dengan status terkini semua kendaraan
* Penyaringan berdasarkan tipe kendaraan, grup, status pergerakan, dan status koneksi
* Kemampuan ekspor data dan laporan
* Notifikasi dan peringatan yang dapat dikustomisasi

## Persyaratan teknis

* Docker dan Docker Compose
* Minimum 4 GB RAM (disarankan 8 GB)
* 20 GB ruang disk kosong
* Linux/Windows dengan WSL2/macOS
* Python 3.8+
* Akses internet untuk koneksi database

## Instalasi dan pengaturan

### 1. Instalasi dengan Docker (metode yang disarankan)

1. Instal Docker dan Docker Compose dengan mengikuti dokumentasi resmi:

* [Instalasi Docker](https://docs.docker.com/engine/install/)
* [Instalasi Docker Compose](https://docs.docker.com/compose/install/)

2. Unduh file docker-compose resmi:

{% code overflow="wrap" %}

```sh
curl -fL https://raw.githubusercontent.com/apache/superset/master/docker-compose-non-dev.yml -o docker-compose.yml
```

{% endcode %}

3. Mulai Superset:

```sh
docker-compose up -d
```

4. Buat administrator:

```sh
docker-compose exec superset superset fab create-admin \
  --username admin \
  --firstname Superset \
  --lastname Admin \
  --email admin@superset.com \
  --password admin
```

5. Inisialisasi database:

```sh
docker-compose exec superset superset db upgrade
```

6. Muat contoh dan inisialisasi peran:

```sh
docker-compose exec superset superset init
```

### 2. Instalasi dengan pip (untuk pengembangan)

1. Buat lingkungan virtual:

```sh
python -m venv venv
source venv/bin/activate  # untuk Linux/macOS
# atau
.\venv\Scripts\activate  # untuk Windows
```

2. Instal Superset:

```sh
pip install apache-superset
```

3. Inisialisasi database:

```sh
superset db upgrade
```

4. Buat administrator:

```sh
export FLASK_APP=superset
superset fab create-admin
```

5. Muat contoh dan inisialisasi peran:

```sh
superset init
```

6. Mulai Superset:

```sh
superset run -p 8088 --with-threads --reload --debugger
```

## Koneksi database

1. Masuk ke Superset (default: <http://localhost:8088>)
2. Arahkan ke Data → Databases
3. Klik "+" untuk menambahkan database baru
4. Isi parameter koneksi:
   1. Database: PostgreSQL
   2. SQLAlchemy URI: `postgresql://${DB_USER}:${DB_PASS}@${DB_HOST}:${DB_PORT}/${DB_NAME}`
   3. Nama Tampilan: Analytics Database
   4. Extra: `{"engine_params": {"connect_args": {"sslmode": "require"}}}`
5. Klik **Uji Koneksi** untuk memverifikasi koneksi
6. Simpan pengaturan

### Referensi parameter koneksi

<table><thead><tr><th width="177.9090576171875">Parameter Lakehouse</th><th>Lokasi Pengaturan Apache Superset</th><th>Catatan</th></tr></thead><tbody><tr><td><strong>Host</strong></td><td><code>DB_HOST</code> dalam SQLAlchemy URI</td><td>Alamat server database yang diberikan dalam email sambutan Anda</td></tr><tr><td><strong>Port</strong></td><td><code>DB_PORT</code> dalam SQLAlchemy URI</td><td>Default adalah 5432 untuk PostgreSQL</td></tr><tr><td><strong>Nama basis data</strong></td><td><code>DB_NAME</code> dalam SQLAlchemy URI</td><td>Nama basis data yang ditetapkan untuk Anda</td></tr><tr><td><strong>Nama pengguna</strong></td><td><code>DB_USER</code> dalam SQLAlchemy URI</td><td>Nama pengguna basis data Anda</td></tr><tr><td><strong>Kata sandi</strong></td><td><code>DB_PASS</code> dalam SQLAlchemy URI</td><td>Kata sandi basis data yang aman</td></tr><tr><td><strong>Mode SSL</strong></td><td><code>connect_args</code> dalam parameter Extra</td><td>Atur ke <strong>require</strong> dalam konfigurasi JSON Extra</td></tr><tr><td><strong>Skema</strong></td><td>Konfigurasi dataset</td><td>Tentukan skema (<code>raw_business_data</code> atau <code>raw_telematics_data</code>) di setiap dataset</td></tr></tbody></table>

## Impor dashboard dan grafik

1. Clone the [bi-integratons](https://github.com/SquareGPS/bi-intergrations) repository:

```sh
git clone https://github.com/SquareGPS/bi-intergrations.git
```

2. Di Superset, buka **Settings → Import/Export**
3. Impor file-file berikut dalam urutan:
   1. `datasets.json` - datasets
   2. `charts.json` - charts
   3. `dashboards.json` - dashboards
4. Setelah mengimpor, perbarui koneksi database di setiap dataset

## Pemecahan masalah

### Masalah koneksi database

* **Kesalahan koneksi:** Periksa kebenaran kredensial dan parameter koneksi
* **Kesalahan firewall:** Pastikan alamat IP Anda ditambahkan ke daftar yang diizinkan
* **Masalah SSL:** Periksa pengaturan SSL dalam parameter koneksi

### Masalah performa

* **Pemuatan visualisasi lambat:**
  * Optimalkan kueri SQL
  * Kurangi jumlah elemen yang ditampilkan secara bersamaan
  * Gunakan caching hasil
* **Penggunaan memori tinggi:**
  * Tingkatkan sumber daya kontainer Docker
  * Optimalkan kueri database

### Masalah lainnya

Berikut beberapa trik yang dapat membantu Anda memperbaiki masalah umum:

1. Periksa log Superset:

```
docker-compose logs superset
```

2. Mulai ulang kontainer:

```
docker-compose restart
```

3. Bersihkan cache browser
4. Periksa versi Superset dan perbarui jika perlu

## Langkah selanjutnya

Setelah berhasil menghubungkan Power BI ke **IoT Query** instance Anda, kami menyarankan Anda untuk:

* Jelajahi skema data yang tersedia dengan meninjau bagian [Ikhtisar Skema](https://www.navixy.com/docs/analytics/id/iot-query/schema-overview) untuk lebih memahami struktur data dan relasinya.
* Mulailah dengan kueri sederhana yang berfokus pada entitas bisnis tertentu sebelum membangun dashboard kompleks - periksa [kueri contoh](https://www.navixy.com/docs/analytics/id/example-queries) sebagai referensi.

### **Dukungan**

Untuk pertanyaan teknis atau permintaan akses ke database demonstrasi, silakan hubungi: <support@squaregps.com>
