Schreiben Sie nur die Hauptpunkte.
Löschen Sie das Redash-Bild lokal mit Dockerpull und starten Sie es.
docker pull redash/redash
Erstellen Sie danach docker-compose.yml (REDASH_ADDITIONAL_QUERY_RUNNERS ist so festgelegt, dass Python verwendet werden kann).
version: '2'
services:
server:
image: redash/redash:latest
command: server
depends_on:
- postgres
- redis
ports:
- "5000:5000"
environment:
PYTHONUNBUFFERED: 0
REDASH_LOG_LEVEL: "INFO"
REDASH_REDIS_URL: "redis://redis:6379/0"
REDASH_DATABASE_URL: "postgresql://postgres@postgres/postgres"
REDASH_COOKIE_SECRET: veryverysecret
REDASH_ADDITIONAL_QUERY_RUNNERS: "redash.query_runner.python"
worker:
image: redash/redash:latest
command: scheduler
environment:
PYTHONUNBUFFERED: 0
REDASH_LOG_LEVEL: "INFO"
REDASH_REDIS_URL: "redis://redis:6379/0"
REDASH_DATABASE_URL: "postgresql://postgres@postgres/postgres"
REDASH_ADDITIONAL_QUERY_RUNNERS: "redash.query_runner.python"
QUEUES: "queries,scheduled_queries,celery"
WORKERS_COUNT: 2
redis:
image: redis:3.0-alpine
postgres:
image: postgres:9.5.6-alpine
volumes:
- /opt/postgres-data:/var/lib/postgresql/data
nginx:
image: redash/nginx:latest
ports:
- "80:80"
depends_on:
- server
links:
- server:redash
Docker-komponieren
docker-compose up
Melden Sie sich dann zum Redash an und legen Sie Folgendes in der Postgres-Datenquelle fest
Hier erfahren Sie, wie Sie eine Python-Datenquelle einrichten. Schreiben Sie Module zum Importieren, bevor Sie das Skript durch Kommas getrennt ausführen, wenn etwas importiert werden soll.
Wählen Sie dann Python als Datenquelle aus und geben Sie bei der Abfrageerstellung Folgendes ein
query='\
select \
count(*) AS count \
from queries \
'
values = execute_query('postgres', query)['rows']
add_result_row(result, {'name': 'result', 'count': values[0]['count']})
add_result_column(result, 'name', '', 'date')
add_result_column(result, 'count', '', 'date')
Sie können das Ergebnis ausgeben, indem Sie Ausführen drücken.
Erstellen Sie keine verschiedenen Berichte, indem Sie Google Spreadsheet, DB, GA usw. kombinieren. Ich kann gehen, ich kann gehen.