LoginSignup
5
6

More than 5 years have passed since last update.

redashでpythonデータソースを使い生SQLを実行して結果を表示する

Last updated at Posted at 2017-04-28

要点だけ書いとく。

dockerpull で redash のイメージをローカルに落として起動しておく。

docker pull redash/redash

その後、docker-compose.yml を作成しておいて(python使えるようにREDASH_ADDITIONAL_QUERY_RUNNERS設定してる)

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-compose upする

docker-compose up

その後、redashにログインしてpostgresのデータソースで以下を設定

スクリーンショット 2017-04-28 午後4.24.51.jpg

pythonのデータソースの設定の仕方は以下。
Modules to import prior to running the scriptは、importするものがあればカンマ区切りで書き込んでおく。

スクリーンショット 2017-04-28 午後4.29.06.jpg

そして、datasourceにpythonえらんで、query作成で以下を入力

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')

Execute押すと結果出力できる。

スクリーンショット 2017-04-28 午後4.30.08.jpg

google spreadsheetやらDB、GAなどを結合していろんなレポートだせるな。いける、いけるぞこれは。

5
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6