запрос снежинки все еще выполняется после того, как отсканированный байт равен 100 - PullRequest
0 голосов
/ 08 февраля 2020

Это может быть скорее вопрос знаний о снежинке, чем вопрос. Я запускаю команду копирования от s3 до снежинки. и я вижу, что потребовалось 30 минут, чтобы получить 100 отсканированных байт, однако даже после того, как байт отсканирован на 100 процентов, потребовалось еще 40 минут для завершения запроса.

Может кто-нибудь объяснить, что здесь происходит, как таким образом, я чувствую, что трудно оценить, сколько времени может занять любая команда выполнения копирования, глядя на экран истории.

Ответы [ 2 ]

3 голосов
/ 09 февраля 2020

Звучит так, как будто вы ссылаетесь на 100% в столбце Сканированные байты профиля запроса. Если в вашей команде COPY INTO есть преобразования, это займет дополнительное время для обработки. Как уже упоминали другие, размер хранилища будет влиять, так как размер хранилища будет определять количество ядер и потоков, что напрямую влияет на параллельность записи.

Короче говоря, сканированные байты - это всего лишь мера общего количества данных, прочитанных Snowflake, которые будут обработаны заданием, но все же необходимо обработать задание.

1 голос
/ 08 февраля 2020

В прошлом мы обнаружили, что каждый xsmall может загружать 40 Мбит / с из S3, и, таким образом, маленький может загружать 2x. Итак, это наше базовое ожидание скорости загрузки.

Что может законно замедлить копирование, так это если вы копируете с root корзины s3://buck_name/, но в этом каталоге находятся миллионы файлов, только с одним новым 100-байтовым файлом. Но я подозреваю, что это также не так.

Следующее, что может случиться, это сбой выполнения части запроса, которая в профиле будет иметь несколько вкладок этапа профиля, таких как 1 \ 1001 \ 2002, которые увеличивают на этапе в тысячах, указывающих на то, что запрос не был выполнен и что он был повторен. Иногда это может быть связано с повреждением хранилища, а иногда из-за сбоя нового времени выполнения текущего выпуска, и повторные попытки могут выполняться на более старых выпусках, чтобы увидеть, удастся ли это. Но часто есть некоторые подсказки к этому: со временем мы видим, что «разлив во внутреннее / внешнее хранилище» - это то, что мы видели при возникновении ошибок.

Но на самом деле, если все кажется «действительно» странным, я откроет билет поддержки и попросит объяснить, что происходит. С обычным, это то, что я вижу, вот почему я думаю, что это странно ..

...