Skip to content

Instantly share code, notes, and snippets.

@lll-phill-lll
Last active July 25, 2024 22:20
Show Gist options
  • Save lll-phill-lll/f4e59430780dd3694b94ad6a089155e3 to your computer and use it in GitHub Desktop.
Save lll-phill-lll/f4e59430780dd3694b94ad6a089155e3 to your computer and use it in GitHub Desktop.
Run ydb locally

Создать профиль:

/usr/bin/ya ydb config profile create

Далее ввести название.

endpoint: grpc://localhost:2135

database: \local

authentication: Don't save...

И надо выбрать этот профиль как дефолтный

Собрать бинарь:

cd ~/ydbwork/ydb

ya make --build debug ./ydb/apps/ydbd ./ydb/public/tools/local_ydb

Задеплоить бинарь:

./ydb/public/tools/local_ydb/local_ydb deploy --fixed-ports --ydb-working-dir ~/kistore --ydb-binary-path ./ydb/apps/ydbd/ydbd

Чтобы обновить бинарь достаточно сделать update, заново deploy делать не надо, deploy удаляет данные.

Все данные будут в ~/kistore

Также можно ./ydb/public/tools/local_ydb/local_ydb --help для других команд.

Сделав ps -aux | ydb можно увидеть, где находится конфиг и логи. Или можно это увидеть в файлике ~/kistore/ydb_recipe.json

Загрузить данные

Инициализация:

/usr/bin/ya ydb workload tpch --path tpch/string_s1 init --store column --string --clear

Загрузка данных:

/usr/bin/ya ydb workload tpch --path tpch/string_s1 import generator --scale 1 --clear-state --state ~/tpch/state_1_string.json

Запуск

Прогнать tpch:

/usr/bin/ya ydb workload tpch --path tpch/string_s1 run

Запустить свой запрос:

/usr/bin/ya ydb yql -f query.sql

Почему-то лучше свой запрос прогонять вот так (отличается результат):

/usr/bin/ya ydb workload tpch --path tpch/string_s1 run --ext-queries-dir queries

Где queries это папка, в которой лежат файлы с запросами в формате q[0-N].sql

Названия табличек в запросе должны иметь вот такой вид:

/local/tpch/string_s1/orders

Прагмы начинаются с ydb

Простой запрос:

PRAGMA ydb.EnableSpillingNodes='GraceJoin';
PRAGMA ydb.HashJoinMode='grace';

SELECT a.* FROM `/local/tpch/string_s1/orders` as a JOIN  `/local/tpch/string_s1/orders` as b ON a.o_comment = b.o_comment;

Логи

Дефолтный уровень логирования 5, его можно поднять в kikimr_configs/config.yaml.

stderr можно смотреть в ~/ydbwork/ydb/stderr

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment