Переименование БД GP в gp_dwh
This commit is contained in:
+1
-1
@@ -26,7 +26,7 @@ BOOKINGS_JOBS=1
|
|||||||
# Greenplum Configuration
|
# Greenplum Configuration
|
||||||
GP_USER=gpadmin
|
GP_USER=gpadmin
|
||||||
GP_PASSWORD=gpadmin
|
GP_PASSWORD=gpadmin
|
||||||
GP_DB=gpadmin
|
GP_DB=gp_dwh
|
||||||
GP_HOST=greenplum
|
GP_HOST=greenplum
|
||||||
GP_PORT=5432
|
GP_PORT=5432
|
||||||
GP_CONN_ID=greenplum_conn
|
GP_CONN_ID=greenplum_conn
|
||||||
|
|||||||
@@ -24,10 +24,10 @@ logs:
|
|||||||
docker compose -f docker-compose.yml logs -f airflow-webserver airflow-scheduler
|
docker compose -f docker-compose.yml logs -f airflow-webserver airflow-scheduler
|
||||||
|
|
||||||
gp-psql:
|
gp-psql:
|
||||||
docker compose -f docker-compose.yml exec greenplum bash -c "su - gpadmin -c '/usr/local/greenplum-db/bin/psql -p 5432 -d gpadmin'"
|
docker compose -f docker-compose.yml exec greenplum bash -c "su - gpadmin -c '/usr/local/greenplum-db/bin/psql -p 5432 -d gp_dwh'"
|
||||||
|
|
||||||
ddl-gp:
|
ddl-gp:
|
||||||
docker compose -f docker-compose.yml exec greenplum bash -c "su - gpadmin -c '/usr/local/greenplum-db/bin/psql -d gpadmin -f /sql/ddl_gp.sql'"
|
docker compose -f docker-compose.yml exec greenplum bash -c "su - gpadmin -c '/usr/local/greenplum-db/bin/psql -d gp_dwh -f /sql/ddl_gp.sql'"
|
||||||
|
|
||||||
bookings-clone-demodb:
|
bookings-clone-demodb:
|
||||||
mkdir -p bookings
|
mkdir -p bookings
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ docker compose up -d
|
|||||||
**Проверка вручную:**
|
**Проверка вручную:**
|
||||||
```bash
|
```bash
|
||||||
# Подключитесь к Greenplum и проверьте данные
|
# Подключитесь к Greenplum и проверьте данные
|
||||||
docker compose exec greenplum bash -c "su - gpadmin -c 'psql -p 5432 -d gpadmin'"
|
docker compose exec greenplum bash -c "su - gpadmin -c 'psql -p 5432 -d gp_dwh'"
|
||||||
|
|
||||||
# Внутри psql выполните:
|
# Внутри psql выполните:
|
||||||
\dt # Показать таблицы
|
\dt # Показать таблицы
|
||||||
@@ -117,7 +117,7 @@ make gp-psql # Подключение к Greenplum
|
|||||||
- **Conn Id:** `greenplum_conn`
|
- **Conn Id:** `greenplum_conn`
|
||||||
- **Conn Type:** `Postgres`
|
- **Conn Type:** `Postgres`
|
||||||
- **Host:** `greenplum`
|
- **Host:** `greenplum`
|
||||||
- **Schema:** `gpadmin`
|
- **Schema:** `gp_dwh`
|
||||||
- **Login:** `gpadmin`
|
- **Login:** `gpadmin`
|
||||||
- **Password:** `gpadmin`
|
- **Password:** `gpadmin`
|
||||||
- **Port:** `5432`
|
- **Port:** `5432`
|
||||||
@@ -198,7 +198,7 @@ docker compose -f docker-compose.yml exec bookings-db bash -lc 'PGPASSWORD="$POS
|
|||||||
### Greenplum
|
### Greenplum
|
||||||
- `GP_USER` — пользователь (по умолчанию: gpadmin)
|
- `GP_USER` — пользователь (по умолчанию: gpadmin)
|
||||||
- `GP_PASSWORD` — пароль (по умолчанию: gpadmin)
|
- `GP_PASSWORD` — пароль (по умолчанию: gpadmin)
|
||||||
- `GP_DB` — база данных (по умолчанию: gpadmin)
|
- `GP_DB` — база данных (по умолчанию: gp_dwh)
|
||||||
- `GP_PORT` — порт Greenplum внутри Docker-сети (по умолчанию: 5432, менять обычно не нужно; внешний порт на хосте для подключения клиентов — 5435).
|
- `GP_PORT` — порт Greenplum внутри Docker-сети (по умолчанию: 5432, менять обычно не нужно; внешний порт на хосте для подключения клиентов — 5435).
|
||||||
|
|
||||||
### Демо-БД bookings (Postgres)
|
### Демо-БД bookings (Postgres)
|
||||||
@@ -263,14 +263,14 @@ docker compose -f docker-compose.yml exec bookings-db bash -lc 'PGPASSWORD="$POS
|
|||||||
3. На вкладке **Main** заполните поля (по умолчанию):
|
3. На вкладке **Main** заполните поля (по умолчанию):
|
||||||
- `Host`: `localhost`
|
- `Host`: `localhost`
|
||||||
- `Port`: `5435` (внешний порт Greenplum на хосте)
|
- `Port`: `5435` (внешний порт Greenplum на хосте)
|
||||||
- `Database`: значение `GP_DB` (по умолчанию `gpadmin`)
|
- `Database`: значение `GP_DB` (по умолчанию `gp_dwh`)
|
||||||
- `Username`: значение `GP_USER` (по умолчанию `gpadmin`)
|
- `Username`: значение `GP_USER` (по умолчанию `gpadmin`)
|
||||||
- `Password`: значение `GP_PASSWORD` (по умолчанию `gpadmin`)
|
- `Password`: значение `GP_PASSWORD` (по умолчанию `gpadmin`)
|
||||||
4. Нажмите **Test Connection** → **OK**, затем **Finish**.
|
4. Нажмите **Test Connection** → **OK**, затем **Finish**.
|
||||||
|
|
||||||
После подключения:
|
После подключения:
|
||||||
|
|
||||||
- Основные таблицы лаба — в схеме `public` базы `gpadmin` (например, `public.orders`).
|
- Основные таблицы лаба — в схеме `public` базы `gp_dwh` (например, `public.orders`).
|
||||||
- После настройки PXF и выполнения `make ddl-gp` станет доступна внешняя таблица `public.ext_bookings_bookings` — чтение из демо-БД bookings через PXF.
|
- После настройки PXF и выполнения `make ddl-gp` станет доступна внешняя таблица `public.ext_bookings_bookings` — чтение из демо-БД bookings через PXF.
|
||||||
|
|
||||||
### bookings-db (демо-БД источника)
|
### bookings-db (демо-БД источника)
|
||||||
|
|||||||
@@ -50,14 +50,17 @@ def get_gp_conn():
|
|||||||
|
|
||||||
# Прямое подключение по переменным окружения
|
# Прямое подключение по переменным окружения
|
||||||
conn_params = {
|
conn_params = {
|
||||||
"dbname": os.getenv("GP_DB", "gpadmin"),
|
"dbname": os.getenv("GP_DB", "gp_dwh"),
|
||||||
"user": os.getenv("GP_USER", "gpadmin"),
|
"user": os.getenv("GP_USER", "gpadmin"),
|
||||||
"password": os.getenv("GP_PASSWORD", ""),
|
"password": os.getenv("GP_PASSWORD", ""),
|
||||||
"host": os.getenv("GP_HOST", "greenplum"),
|
"host": os.getenv("GP_HOST", "greenplum"),
|
||||||
"port": int(os.getenv("GP_PORT", "5432")),
|
"port": int(os.getenv("GP_PORT", "5432")),
|
||||||
}
|
}
|
||||||
logging.info(
|
logging.info(
|
||||||
"🔗 Подключение к Greenplum: %s:%s", conn_params["host"], conn_params["port"]
|
"🔗 Подключение к Greenplum: %s:%s/%s",
|
||||||
|
conn_params["host"],
|
||||||
|
conn_params["port"],
|
||||||
|
conn_params["dbname"],
|
||||||
)
|
)
|
||||||
return psycopg2.connect(**conn_params)
|
return psycopg2.connect(**conn_params)
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -48,7 +48,7 @@ services:
|
|||||||
TZ: ${TZ:-Europe/Moscow}
|
TZ: ${TZ:-Europe/Moscow}
|
||||||
GREENPLUM_USER: ${GP_USER:-gpadmin}
|
GREENPLUM_USER: ${GP_USER:-gpadmin}
|
||||||
GREENPLUM_PASSWORD: ${GP_PASSWORD:-gpadmin}
|
GREENPLUM_PASSWORD: ${GP_PASSWORD:-gpadmin}
|
||||||
GREENPLUM_DATABASE_NAME: ${GP_DB:-gpadmin}
|
GREENPLUM_DATABASE_NAME: ${GP_DB:-gp_dwh}
|
||||||
GREENPLUM_PXF_ENABLE: "true"
|
GREENPLUM_PXF_ENABLE: "true"
|
||||||
# Порты: внешний 5435 (на хосте)
|
# Порты: внешний 5435 (на хосте)
|
||||||
ports:
|
ports:
|
||||||
@@ -62,7 +62,7 @@ services:
|
|||||||
- airflow_data:/opt/airflow/data
|
- airflow_data:/opt/airflow/data
|
||||||
# Простая проверка доступности: psql откликается
|
# Простая проверка доступности: psql откликается
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD-SHELL", "pg_isready -h 127.0.0.1 -p 5432 -U ${GP_USER:-gpadmin} -d ${GP_DB:-gpadmin} || echo 1"]
|
test: ["CMD-SHELL", "pg_isready -h 127.0.0.1 -p 5432 -U ${GP_USER:-gpadmin} -d ${GP_DB:-gp_dwh} || echo 1"]
|
||||||
interval: 10s
|
interval: 10s
|
||||||
timeout: 5s
|
timeout: 5s
|
||||||
retries: 30
|
retries: 30
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ _Этот файл внутренний, удалить перед итогов
|
|||||||
- `GREENPLUM_PXF_ENABLE: "true"`.
|
- `GREENPLUM_PXF_ENABLE: "true"`.
|
||||||
- При первом старте с этим флагом скрипт `/start_gpdb.sh` сделает за нас:
|
- При первом старте с этим флагом скрипт `/start_gpdb.sh` сделает за нас:
|
||||||
- инициализацию PXF (`pxf cluster prepare`, `pxf cluster register`, `pxf cluster sync`);
|
- инициализацию PXF (`pxf cluster prepare`, `pxf cluster register`, `pxf cluster sync`);
|
||||||
- создание расширения `pxf` в базе `${GREENPLUM_DATABASE_NAME}` (у нас это `${GP_DB}`, по умолчанию `gpadmin`);
|
- создание расширения `pxf` в базе `${GREENPLUM_DATABASE_NAME}` (у нас это `${GP_DB}`, по умолчанию `gp_dwh`);
|
||||||
- запуск `pxf cluster start` и привязку остановки/старта PXF к жизненному циклу Greenplum.
|
- запуск `pxf cluster start` и привязку остановки/старта PXF к жизненному циклу Greenplum.
|
||||||
- База конфигов PXF (`PXF_BASE`) будет располагаться в `${GREENPLUM_DATA_DIRECTORY}/pxf`, в нашем compose — это `/data/pxf` на томе `greenplum_data`.
|
- База конфигов PXF (`PXF_BASE`) будет располагаться в `${GREENPLUM_DATA_DIRECTORY}/pxf`, в нашем compose — это `/data/pxf` на томе `greenplum_data`.
|
||||||
- Важно: `make down` сейчас делает `docker compose down -v`, поэтому при полном сбросе томов будут теряться и данные GP, и конфиги PXF (включая JDBC‑драйвер и `servers/*`).
|
- Важно: `make down` сейчас делает `docker compose down -v`, поэтому при полном сбросе томов будут теряться и данные GP, и конфиги PXF (включая JDBC‑драйвер и `servers/*`).
|
||||||
|
|||||||
Reference in New Issue
Block a user