
S
23.10.2018
06:56:44
https://clickhouse.yandex/docs/en/interfaces/formats/#jsoneachrow

Eugene
23.10.2018
07:26:36
салют! ребятки, такой вопрос, у нас есть куда сырых csv логов в aws(~15Gb в сжатов виде, csv.gz). переодически, при импорте их в clickhouse получаем ошиьки аля Cannot write to file No space left on device. мб кто-то знает, что можно подкрутить, что clickhouse не падал, что продолжил импортить данные, пусть даже медленнее?

Andrew
23.10.2018
07:29:47

Denis
23.10.2018
07:29:58
так он же пишет, что место закончилось

Google


Eugene
23.10.2018
07:30:56
INSERT INTO dwtest(RequestId,ImpId,eventTime,RequestUri,Referer,Ip,Useragent,PublisherId,SiteId,BannerId,AdSize,CreativeType,UserId,DetectedDomain,SiteCategory,Segments,AdvertiserId,DspId,SeatId,BidderCreativeId,PricingType,LandingPageDomain,CreativeId,OsVersion,Zip,Country,City,GeoId,Region,Bidfloor,DeviceType,BrowserName,BrowserVersion,DeviceModel,DealId,Bid,NetPayablePayout,BidCurrencyOther,BidCurrencyUsd,AllowedDealIds,CountRequests,CountImpressions,CountClicks,ClickReferer,ClickRedirectUrl,ClickRequestUri,CountNonemptyBidResponses,CountBidRequests,EventsNumberRatio,CountAds,CountResonsesWithAds,IsBuyerMatched,NoBidReason,CountNoBids,Comment,RevShareOrig,Event,Guid,Product,DspName,DealName,PotentialNetPayout,PotentialPubPayout,Viewability,PublisherName,ChannelType,PaymentMode,CountRequestsWithAdResponses,CountNonFallbackImps,CountImpsLoaded,RegionName,AdRequestInitiator,ClearPriceType,Latency,BidResponseTime,CountEligibleBidResponses,CountTimedOutBidRequestsToDsp,ResponseBlockedReason,DealType,DealPriority,DealAskPrice,InViewRate,TimeInView,FullyOnscreenInViewRate,Genderm,Genderf,AgeBetweenEighteenAndThirtyFour,AgeBetweenThirtyFiveAndFortyNine,AgeMoreFifty,Pagecat,IsDynamic) FORMAT CSV
примерно так


Stanislav
23.10.2018
07:31:34
что говорит df -h и df -i на сервере?

Eugene
23.10.2018
07:33:27
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 13G 3.2G 9.8G 25% /
devtmpfs 30G 0 30G 0% /dev
tmpfs 30G 0 30G 0% /dev/shm
tmpfs 30G 1.2G 29G 4% /run
tmpfs 30G 0 30G 0% /sys/fs/cgroup
/dev/xvdb 158G 93G 58G 62% /var/lib/clickhouse/data
tmpfs 6.0G 0 6.0G 0% /run/user/1002
tmpfs 6.0G 0 6.0G 0% /run/user/1001

Wolf
23.10.2018
07:33:41

Eugene
23.10.2018
07:33:43
$ df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/xvda1 6815232 43164 6772068 1% /
devtmpfs 7833481 314 7833167 1% /dev
tmpfs 7838925 1 7838924 1% /dev/shm
tmpfs 7838925 435 7838490 1% /run
tmpfs 7838925 16 7838909 1% /sys/fs/cgroup
/dev/xvdb 10485760 434261 10051499 5% /var/lib/clickhouse/data
tmpfs 7838925 1 7838924 1% /run/user/1002
tmpfs 7838925 1 7838924 1% /run/user/1001
не все сразу

Wolf
23.10.2018
07:34:19
ну разбейте файл или увеличьте место на диске это же амазон

Denis
23.10.2018
07:35:20
интересно, df говорит, что место есть, а кх - что нет

Eugene
23.10.2018
07:35:52
оно видимо заканчивается когда он временную таблицу пишет
там 15Gb в gz

Stanislav
23.10.2018
07:36:10
df -h что говорит?

Eugene
23.10.2018
07:36:21

Google

Stanislav
23.10.2018
07:36:26
Пардон, проскроллилось

Eugene
23.10.2018
07:38:12
т.е. я вначале из s3 выкачиваю все локально:
1.aws s3 cp ${bucket_path} ${dataDirPath} --recursive --only-show-errors;
2. потом собираю все файлики в один большой:
for file in $(ls ${dataDirPath} | head -n ${limit_files}); do
if [ ${file} == ${fatFileName} ]; then continue; fi
cat "${dataDirPath}/${file}" >> ${fatFilePath};
rm "${dataDirPath}/${file}"
done
3. потом гружу их в ch:
gzip -d -c ${fatFilePath} | \
clickhouse-client \
--format_csv_allow_single_quotes false \
--database ${DB_NAME} \
--user ${DB_USERNAME} \
--password ${DB_PASSWORD} \
--host ${DB_HOST} \
--port ${DB_PORT} \
--query "INSERT INTO ${DW_EVENTS_TMP_TABLE}(${DW_EVENTS_TMP_TABLE_COLUMNS}) FORMAT CSV";

Stanislav
23.10.2018
07:38:32
Файлики какого размера?

Eugene
23.10.2018
07:38:45
15Gb где-то

Stanislav
23.10.2018
07:38:52
Один файл
Не итого

Eugene
23.10.2018
07:39:21
10-15Mb
по-разному

Vladimir
23.10.2018
07:39:38
Ребята привет всем а есть ли какой либо запрос по статистике скорости текущей скорости записи в КХ?

Eugene
23.10.2018
07:39:45
я пробовал по одному пайпить сразу из s3, но это долго
почти час уходит, а так, за 30 мин

Stanislav
23.10.2018
07:40:03
Подозреваю, упирается в max_insert_block_size

Eugene
23.10.2018
07:40:12
хмм
пойду посмотрю

Stanislav
23.10.2018
07:40:22
Но вряд ли

Denis
23.10.2018
07:40:56

Stanislav
23.10.2018
07:41:19
Угу, но почему-то у меня при вставке больше гига было подобное. Правда, давно.
Хотя да, это точно не то.

Eugene
23.10.2018
07:42:17
треч

Andrey
23.10.2018
07:42:54
Всем привет.
Столкнулся с проблемой. Помогите разобраться.
void DB::BackgroundProcessingPool::threadFunction(): Code: 89, e.displayText() = DB::Exception: Unknown compression method: 32: (while reading column datetime):
Обновления не ставились, т.е. это не последствия. Пока выглядит как "я ничего не делал, оно само сломалось".
Версия 1.1.54310.

Google

Stanislav
23.10.2018
07:43:33
А попробуй глянуть на while true; do df -h /var/lib/clickhouse/ ; sleep 2; done во время инсерта.

Wolf
23.10.2018
07:44:28

Eugene
23.10.2018
07:45:16

Wolf
23.10.2018
07:46:35
пока так и делаем...
просто глупо как то решить нехватку места обходными путями тем более на таких мизерных обьемах , дайте ему достаточно места и просто не парьтесь
у вас там свободно 58 гигов, потом вы заливаете еще файл с данными минус 15 гигов места потом еще льете это в кх и он помержит все далеко не сразу чтобы было оптимально
то есть вы хотите как то так извернуться чтобы выиграть там 1-5 гигов и чтобы влезло

Eugene
23.10.2018
07:51:45
не совсем так, просто нам нужно грузить не дольше часа. сейчас мы это делаем примерно за 30мин. мы могли бы пожертвовать скоростью взамен экономии места. понятно, что можно просто место увеличить.

Wolf
23.10.2018
07:54:48
если решение очевидное в том что бы немного увеличить место, что вы пытаетесь то выиграть ?

Vyacheslav
23.10.2018
08:55:21
Poco::Exception. Code: 1000, e.code() = 0, e.displayText() = Host not found: test-ch01, e.what() = Host not found
вопрос -- откуда? потому как в конфиге нет никаких таких имен.

Andrey
23.10.2018
08:59:22

Wolf
23.10.2018
09:00:22

Vyacheslav
23.10.2018
09:01:09
в зукипере-то откуда? зукипер в другом месте. hosts пустой.

Wolf
23.10.2018
09:01:40
А хостнаме ?

Vyacheslav
23.10.2018
09:02:03
а он-то причем?
я так понимаю https://github.com/yandex/ClickHouse/issues/845 всё еще не починили?

Wolf
23.10.2018
09:02:52

Vyacheslav
23.10.2018
09:03:15
в документации этого нет.

Wolf
23.10.2018
09:03:23
Ну и видимо этот хост у вас прописан в хостнейме
Ну я вам говорю как есть а не как не написано

Google

Wolf
23.10.2018
09:04:24
В общем надо чтобы были у всех хорошие резолвящиеся имена , нафиг этим айпи

Vladislav
23.10.2018
09:37:49
привет. а не замечали проблемы с масками в разрешенных айпишниках для пользователя? какую бы не поставил (даже /32), все равно могу подключиться с любого ip. убираю маску – доступ пропадает.

Vyacheslav
23.10.2018
09:45:52
ну а пароли надо тогда тоже на хостнйм прописывать а не на ip?

Anton
23.10.2018
10:08:39
Добрый день. Подскажите по поводу репликации. Покурил мануал, там зукипер, спец таблицы, ручной CREATE и т.д. Мне кажется несколько проще сделать логическую репликацию, плюс более полноценная со всеми запросами, включая создание таблиц, индексов и т.д. Был ли у кого-нибудь опыт?

Wolf
23.10.2018
10:09:33

Anton
23.10.2018
10:09:42
?

Wolf
23.10.2018
10:09:55

Anton
23.10.2018
10:10:26
Мне не нужен мастер мастер, но даже мастер мастер можно сделать через общий сетевой мьютекс

Wolf
23.10.2018
10:10:38
ну так он есть в зукипере и уже сделан
у вас в чем сложность что надо руками делать ? сделайте сценарий в ансибле или разворачивайте в каком нибудь докере все будет само

Anton
23.10.2018
10:11:21
Это да, меня больше беспокоят частые CREATE TABLE на миграции данных

Wolf
23.10.2018
10:11:46
а вы часто мигрируете данные куда то ?

Anton
23.10.2018
10:13:10
Да, схлопываются данные, пересчет кэффициентов корреляций на группах и т.д. В общем хватает миграций

Wolf
23.10.2018
10:13:31
а причем тут миграция данных и зачем тут create table ?
кх же как раз сделан чтобы такое не делать
вы просто вытаетесь с ним работать как с постгресом по старому
есть матвью , есть типы таблиц коллапс и сумминг
никаких миграций и create table особо не подразумевается в кх

Anton
23.10.2018
10:14:54
Вы просто даже не знаете как я с ним работаю, не надо утверждать, вопрос про логическую репликацию

Wolf
23.10.2018
10:15:47
ну просто у нас в постгресе раньше было как раз как вы описали , в кх просто во всех этих действиях отпала необходимость

Google

Wolf
23.10.2018
10:16:07
ну логической репликации никогда не будет в кх так что надо учиться его готовить правильно

Anton
23.10.2018
10:17:13
КХ не серебрянная пуля

Wolf
23.10.2018
10:17:44
ну для таймсериес это прямо серебро ) быстро и бесплатно
а вы посмотрели мат вью, коллапсы и сумминги и реально ваши кейсы в них нельзя переложить ?

Aleksey
23.10.2018
10:19:36
Всем привет.
А у кого-нибудь еще на 18.14.9 память не начала выедаться прямо ом-ном-ном? Примерно по 100ГБ в сутки.

Anton
23.10.2018
10:19:38
Реально нельзя, вообще никак, UPDATE и DELETE когда появится, тогда будет можно

Wolf
23.10.2018
10:19:56

Anton
23.10.2018
10:20:04
Штооооооо
Вопрос снят, я пошел обновлятся

Yuran
23.10.2018
10:20:22
Кажется, в последней версии 18.14.9 есть утечки памяти, не знаю, репортил ли о них кто-нибудь

Wolf
23.10.2018
10:20:22

Aleksey
23.10.2018
10:20:39
Ну, на 3 дня не хватает) Угадать не сложно.

Wolf
23.10.2018
10:20:41

Yuran
23.10.2018
10:20:56
Мы подозреваем, что они происходят при попытке обратиться к несуществующей функции

Wolf
23.10.2018
10:21:07

Yuran
23.10.2018
10:21:23
(мы много шлем некорректных запросов в этот конкретный кластер, но раньше таких утечек не было)

Anton
23.10.2018
10:21:42