Open umaxfun opened 7 years ago
Добрый день!
Я попробовала запустить скрипт с аналогичными настройками на чистой БД и проблема не воспроизводится.
Предположу, что после предыдущего запуска изменился список выгружаемых полей в конфиге и новые данные не могут записаться в старую структуру таблиц. В этом случае стоит удалить таблицу и перезапустить скрипт, чтобы он создал таблицу нужной структуры.
Взял другой счетчик, другой набор полей, другую операционную систему 😎, чистую БД, проблема так же выглядит:
('##### python', '2.7.11')
2017-08-06 16:04:59 MainProcess INFO CLI Options: Namespace(end_date=None, mode='history', source='hits', start_date=None)
2017-08-06 16:04:59 MainProcess INFO Starting new HTTPS connection (1): api-metrika.yandex.ru
2017-08-06 16:04:59 MainProcess INFO UserRequest(token=u'xxx', counter_id=u'3199561', start_date_str=u'2011-01-11', end_date_str='2017-08-04', source='hits', fields=(u'ym:pv:counterID', u'ym:pv:dateTime', u'ym:pv:date', u'ym:pv:clientID', u'ym:pv:title', u'ym:pv:URL', u'ym:pv:referer'))
2017-08-06 16:04:59 MainProcess INFO Starting new HTTP connection (1): localhost
2017-08-06 16:04:59 MainProcess INFO Starting new HTTPS connection (1): api-metrika.yandex.ru
2017-08-06 16:04:59 MainProcess INFO ### CREATING TASK
2017-08-06 16:04:59 MainProcess INFO Starting new HTTPS connection (1): api-metrika.yandex.ru
{
"date1_str": "2011-01-11",
"date2_str": "2011-07-29",
"request_id": 194331,
"status": "created",
"user_request": [
"xxx",
"3199561",
"2011-01-11",
"2017-08-04",
"hits",
[
"ym:pv:counterID",
"ym:pv:dateTime",
"ym:pv:date",
"ym:pv:clientID",
"ym:pv:title",
"ym:pv:URL",
"ym:pv:referer"
]
]
}
2017-08-06 16:04:59 MainProcess INFO ### DELAY 20 secs
2017-08-06 16:05:19 MainProcess INFO ### CHECKING STATUS
2017-08-06 16:05:19 MainProcess INFO Starting new HTTPS connection (1): api-metrika.yandex.ru
2017-08-06 16:05:19 MainProcess INFO API Request status: created
2017-08-06 16:18:02 MainProcess INFO ### DELAY 20 secs
2017-08-06 16:18:22 MainProcess INFO ### CHECKING STATUS
2017-08-06 16:18:22 MainProcess INFO Starting new HTTPS connection (1): api-metrika.yandex.ru
2017-08-06 16:18:22 MainProcess INFO API Request status: created
2017-08-06 16:18:22 MainProcess INFO ### DELAY 20 secs
2017-08-06 16:18:42 MainProcess INFO ### CHECKING STATUS
2017-08-06 16:18:42 MainProcess INFO Starting new HTTPS connection (1): api-metrika.yandex.ru
2017-08-06 16:18:42 MainProcess INFO API Request status: processed
2017-08-06 16:18:42 MainProcess INFO ### SAVING DATA
2017-08-06 16:18:42 MainProcess INFO Part #0
2017-08-06 16:18:42 MainProcess INFO Starting new HTTPS connection (1): api-metrika.yandex.ru
2017-08-06 16:18:42 MainProcess INFO ### DATA SAMPLE
2017-08-06 16:18:42 MainProcess INFO ym:pv:clientID ym:pv:counterID ym:pv:date ym:pv:dateTime ym:pv:referer ym:pv:title ym:pv:URL
2017-08-06 16:18:42 MainProcess WARNING 1 rows were filtered out
2017-08-06 16:18:42 MainProcess INFO Starting new HTTP connection (1): localhost
2017-08-06 16:18:42 MainProcess INFO Starting new HTTP connection (1): localhost
2017-08-06 16:18:42 MainProcess INFO Starting new HTTP connection (1): localhost
2017-08-06 16:18:42 MainProcess INFO Starting new HTTP connection (1): localhost
2017-08-06 16:18:42 MainProcess INFO Starting new HTTP connection (1): localhost
2017-08-06 16:18:43 MainProcess CRITICAL Iteration #1 failed
Traceback (most recent call last):
File "metrica_logs_api.py", line 127, in <module>
integrate_with_logs_api(config, user_request)
File "metrica_logs_api.py", line 107, in integrate_with_logs_api
raise e
ValueError: Code: 27, e.displayText() = DB::Exception: Cannot parse input: expected \n at end of stream., e.what() = DB::Exception
Видимо, я что-то очень не так делаю. Как бы понять, что именно?
При том, скрипт создал нормальную структуру БД. Я скачал кусок с метрики запросом wget https://api-metrika.yandex.ru/management/v1/counter/3199561/logrequest/194328/part/1/download?auth_token=xxx -O c1
, и нормально загружается руками cat c1 | sed "1d" | clickhouse-client --query="insert into qwe1.hits_all FORMAT TabSeparated"
:) видимо вопрос к скрипту загрузки
Добрый день,
Столкнулись с проблемой: при загрузке КХ не может разобрать входные данные.
DB::Exception: Cannot parse input: expected \n before: \tym:s:date\tym:s:dateTime\tym:s:goalsID\tym:s:isNewUser\tym:s:lastAdvEngine\tym:s:lastClickBannerGroupName\tym:s:lastDirectClickOrder\tym:s:lastDirectClickOrderName\tym, e.what() = DB::Exception
Полный лог (изменен токен и урл сайта; counterId -- настоящий):
Подскажите, пожалуйста, что делать в такой ситуации?