/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