Как начать работу с BigData — загружаем данные в Google BigQuery > NetPeak - Независимость и осознанность
NetPeak Biz Tech    


Как начать работу с BigData — загружаем данные в Google BigQuery

Как начать работу с BigData — загружаем данные в Google BigQuery

< >

Все говорят о BigData, необходимости анализировать большие объемы информации, но при этом не знают, как обpaбатывать данные, и не решаются сделать первые шаги. В этом посте мы расскажем о том, как начать работу с облачным сервисом Google BigQuery, если у вас уже есть данные в CSV, JSON или Google Spreadsheets.;

Первый способ. Загрузка данных из CSV файлов

1. Перед тем как приступить непосредственно к процедуре загрузки информации, нам необходимо создать набор данных (data set) и таблицу, в которую будем их загружать.

1.1. Для этого открываем Google BigQuery в браузере, выбираем нужный проект из выпадающего списка, после чего в меню указываем «Create new dataset». 

1.2. Окно создания набора данных выглядит следующим образом:

В поле Dataset ID необходимо задать имя набора данных, мы назвали его «load_data». С помощью выпадающего поля «Data location» можно выбрать регион физического местонахождения сервера, на котором будут храниться данные (по умолчанию установлено значение «unspecified», то есть место хранения данных не определено). Если установить галочку возле пункта «Expire new tables in one day», все таблицы будут храниться только один день, после чего автоматически будут удалены из этого набора данных и базы в целом. Используйте эту опцию для временных таблиц.

1.3. Для завершения процесса создания нового набора данных жмем «OK», теперь в нашем проекте появился пустой набор данных «load_data».

2. Следующий шаг — создание таблицы в новом наборе данных. Кликаем на плюс, который появится, если вы наведете курсор мыши на только что созданный набор данных.

Окно создания таблицы содержит четыре блока настроек и выглядит следующим образом:

2.1. Source data. В этом блоке вы выбираете источник, из которого будет загружена информация. Источником данных могут быть файлы в формате CSV, JSON и Cloud Datastore Backup (последний позволяет загружать данные из файлов хранящихся на Google Storage). Для дальнейшей работы предлагаю скачать два файла, которые я назвал в соответствии с форматами «csv» и «json». Первым загрузим «csv». Чтобы выбрать файл, нажимаем кнопку «Choose file», которая находится в поле «Location». К области Source data мы вернемся, когда будем подгружать информацию из файла «json».

2.2. Destination Table;— выбор места хранения данных. Здесь указываем название таблицы, в которую планируем импортировать данные. Если вы впишете в поле «Table ID» название уже существующей в наборе данных таблицы, то данные будут добавлены в существующую таблицу, если вы введете новое название — будет создана новая таблица. Также у вас есть возможность выбрать тип таблицы из выпадающего списка в поле «Table type». В Google BigQuery существует два типа таблиц:

  • Native — данные будут загружены непосредственно в BigQuery, в этом случае процеДypa импорта данных может продолжаться дольше, но запросы, направленные к таблицам типа Native, будут выполняться быстрее;
  • External — вы можете выбрать файл, хранящийся в Google Storage, таким образом данные не загрузятся в BigQuery, и запросы к таблицам с типом External будут обpaбатываться дольше.

2.3. Schema. На этой вкладке необходимо описать структуру будущей таблицы. С помощью кнопки «Add field» добавляем и описываем шесть полей, которые будут присутствовать в нашей таблице. Кнопка «Edit as text» дает возможность описать структуру таблицы в JSON формате (этот способ мы рассмотрим позже, когда будет подгружать файл «json»).

Доступные типы данных:

Тип данных    Описание
STRING    Текст, максимальный размер строки — 2 МБ. Этот тип данных принимает кодировку UTF-8, если вы планируете загрузить кириллицу, предварительно перекодируйте ее в UTF-8.;В примере в качестве типа данных устанавливайте именно «STRING».
INTEGER    64-битное целое число.
FLOAT    Число с плавающей точкой.
BOOLEAN    Булево значение, принимает значение true или false, чувствительно к регистру.
TIMESTAMP    Дата и время. BigQuery хранит эти данные в UNIX формате. Вы описываете время как положительное число, которое указывает количество секунд начиная с 1 января 1970 года 00:00:00, или отрицательное — количество секунд до 1 января 1970 года 00:00:00. Несмотря на то, что BigQuery хранит данные о дате и времени в UNIX формате, вы можете загружать их также в формате YYYY-MM-DD HH:MM:SS. Если в вашем файле в качестве даты указано значение 2016-02-29 12:10:54, оно корректно загрузится в формате даты и времени.

2.4. Options — последний блок, который необходимо заполнить перед загрузкой данных. В поле «Field delimiter» указываем разделитель полей для CSV файла. В нашем случае это точка с запятой, в связи с чем мы устанавливаем переключатель в режим «Other» и в текстовом поле вводим «;».

В поле «Header rows to skip» вписываем количество строк, содержащих заголовки данных, чтобы эти строки игнорировались при импорте. С помощью поля «Number of errors allowed» мы задаем максимально допустимое количество ошибок при загрузке. Если установить в этом поле 0, то при первой же ошибке в загружаемых данных (к примеру, при несоответствии загружаемых данных типу поля), процеДypa загрузки будет остановлена. Галочку «Allow Quoted Newlines» надо ставить в случае, если в загружаемом CSV файле встречаются текстовые поля, значение которых переходит на следующую строку, например:

1,2,\"this is my string\",4,5 1,2,\"another string\",4,5 

В данном случае нам требуется загрузить из CSV файла две строки, но, как видим, второе поле первой строки разделено переносом на новую строку. Чтобы при импорте этот перенос игнорировался, установите галочку «Allow Quoted Newlines». Опция «Allow jarred rows» доступна только для CSV файлов. Если вы установите эту галочку, отсутствующие записи в необязательных столбцах будут обpaбатываться как нулевые, если не установите — такие записи будут считаться ошибочными, и если ошибочных записей много, импорт будет остановлен. Галочка в поле «Ignore unknown value» позволяет во время загрузки игнорировать значения, которые не соответствуют структуре данных, описанной на вкладке «Specify schema».

2.5. Для импорта данных нам остается нажать кнопку «Create table», после чего в наборе данных появится новая таблица «load_data_table», и данные из CSV файла будут загружены в нее.

Подводные камни при импорте CSV-файла в Google BigQuery.
  1. Если у вас есть файлы более 10 МБ, их можно загрузить только через Google Cloud Storage. Это может занять довольно продолжительное время в зависимости от размера файла.
  2. Если важно импортировать все данные из CSV, то файл должен соответствовать всем стандартам CSV. Выгрузки из некоторых сервисов эти стандарты нарушают. Так, при сохранении CSV из Excel кодировка будет CP1251. В данном случае с помощью Notepad++ перед загрузкой необходимо перекодировать файл в формат UTF-8. В ином случае часть строк получится с ошибками. Только после преобразования в правильный CSV файл можно загружать в BigQuery.
  3. Важно соблюдать ограничения на импорт.

Второй способ. Загрузка данных из JSON файла

1.Ранее мы уже скачали файл «json». У файлов в JSON формате другая структура данных, чем у данных, загруженных в прошлом примере из CSV. 1.1. Для загрузки этого файла необходимо повторить описанные ранее шаги. Жмем «+» напротив созданного в прошлом пункте набора данных «load_data», задаем имя новой таблицы «load_data_from_json».

1.2. В блоке «Source data» выбираем скачанный ранее файл. Для этого в выпадающем списке «File format» выбираем JSON, нажимаем кнопку «Choose file» и выбираем нужный файл. 1.3. Структуру таблицы в блоке «Schema» можно описать в JSON формате. Для этого нажимаем «Edit as text» и вставляем следующий текст:

[{ \"name\": \"kind\", \"mode\": \"nullable\", \"type\": \"string\" },{ \"name\": \"fullName\", \"type\": \"string\", \"mode\": \"required\" },{ \"name\": \"age\", \"type\": \"integer\", \"mode\": \"nullable\" },{ \"name\": \"gender\", \"type\": \"string\", \"mode\": \"nullable\" },{ \"name\": \"phoneNumber\", \"type\": \"record\", \"mode\": \"nullable\", \"fields\":[ { \"name\": \"areaCode\", \"type\": \"integer\", \"mode\": \"nullable\" },{ \"name\": \"number\", \"type\": \"integer\", \"mode\": \"nullable\" } ] },{ \"name\": \"children\", \"type\": \"record\", \"mode\": \"repeated\", \"fields\":[ { \"name\": \"name\", \"type\": \"string\", \"mode\": \"nullable\" },{ \"name\": \"gender\", \"type\": \"string\", \"mode\": \"nullable\" },{ \"name\": \"age\", \"type\": \"integer\", \"mode\": \"nullable\" } ] },{ \"name\": \"citiesLived\", \"type\": \"record\", \"mode\": \"repeated\", \"fields\":[ { \"name\": \"place\", \"type\": \"string\", \"mode\": \"nullable\" },{ \"name\": \"yearsLived\", \"type\": \"integer\", \"mode\": \"repeated\" } ]} ]

1.4. Блок «Options» для JSON файла содержит всего две опции. С помощью «Number of errors allowed» указываем допустимое количество ошибок при импорте данных. Галочка в поле «Ignore unknown values» означает, что в процессе загрузки будут игнорироваться значение, которые не соответствуют структуре таблицы, описанной на предыдущей вкладке. 2. Жмем «Submit» и через несколько секунд в наборе данных «load_data» появится еще одна таблица.

Третий способ. Загрузка данных из Google Spreadsheets

Данные из Google Таблиц можно загрузить двумя способами.

1. Загрузка данных из Google Таблицы из интерфейса Google BigQuery

Для этого необходимо выбрать из выпадающего списка Location пункт «Google Drive» и указать полную ссылку на нужную Google Таблицу. Для того, чтобы указать ссылку на конкретный лист, введите полный URL, включая параметр gid. Далее процеДypa точно такая же, как была описана в первом и втором пункте — задаёте имя таблицы и описываете её схему.

В этом случае данные не только будут загружены в Google BigQuery, но также будет сохранена связь непосредственно с листом таблицы Google. Все внесённые на лист изменения будут отображаться при запросах к данной таблице в Google BigQuery даже без повторной процедуры загрузки данных.

2. Загрузка данных из Google Таблицы с помощью OWOX BI

2.1. Возможно, в повседневной работе с данными вы чаще всего используете Google Таблицы, и в таком случае наиболее удобным источником для выгрузки данных будет дополнение OWOX BI BigQuery Reports. Чтобы установить его, переходим по ссылке и нажимаем кнопку «+ бесплатно». В качестве примера я возьму случайно сгенерированную таблицу, которую мы использовали при загрузке CSV файла. Перейдя по этой ссылке, вы можете посмотреть и скопировать данные. После установки дополнения «OWOX BI BigQuery Reports», оно появится в списке доступных дополнений. Выбираем его в меню и кликаем на «Upload data to BigQuery». 

2.2. В открывшимся диалоговом окне «Set destination & schema» указываем проект, набор данных и название таблицы, в которую будут загружены данные, а также описываем структуру таблицы аналогично тому, как мы это делали при загрузке данных из CSV файла.

Через несколько секунд после нажатия на «Start upload» в нижней части окна появится сообщение о том, что таблица успешно загружена. Кликнув на «Show table in BigQuery», вы перейдете в интерфейс Google BigQuery, в котором уже будет присутствовать только что загруженная таблица «load_from_spreadsheets».

Выводы

Мы рассмотрели три способа импорта данных в Google BigQuery:

  • из CSV файла;
  • из JSON файла;
  • из Google Spreadsheets.

В дальнейшем вы сможете свободно работать с полученными массивами информации, например обpaбатывать данные из множества таблиц. Загружайте информацию из различных источников данных и используйте всю мощь Google BigQuery при ее обработке. Надеюсь, этот мануал будет вам полезен.



Комментарии:

Как создать рассылку push-уведомлений. Чек-лист эффективной рассылки от Notix

В статье рассказываем, какие бывают push-уведомления, когда их используют, даем чек-лист и пошаговую инструкцию по созданию успешной push-рассылки....

27 03 2025 15:25:52

Как быстро снизить стоимость конверсий в нише элитных автоуслуг — кейс Аверс-центр

Как быстро снизить стоимость конверсий в нише элитных автоуслуг — кейс Аверс-центр Среди интернет-маркетологов существует мнение, что медийная реклама — не перформанс-инструмент. То есть не приносит прямые конверсии. Когда медийные кампании продают — кейс центра тюнинга автомобилей премиум класса....

26 03 2025 23:22:47

Что вы можете сделать со своим пресс-релизом

Что вы можете сделать со своим пресс-релизом Написание и распространение пресс-релизов концептуально устарело. Как привлечь аудиторию читателей СМИ без них?...

25 03 2025 5:18:19

Как я работаю: рассказ PPC-специалиста

Как я работаю: рассказ PPC-специалиста Как специалисту с нуля обучиться контекстной рекламе и совмещать работу с хобби...

24 03 2025 23:14:17

Анализ ссылочной массы — подробное руководство

Анализ ссылочной массы — подробное руководство Как найти, нарастить и проанализировать ссылочную массу...

23 03 2025 4:47:53

Как оценить новый канал трафика?

Как оценить новый канал трафика? Эффективен ли ваш канал привлечения трафика? Лучше писать об этом с помощью формул...

22 03 2025 15:23:19

Частые ошибки в email-маркетинге: исправляем ошибки в email рассылках и письмах

Частые ошибки в email-маркетинге: исправляем ошибки в email рассылках и письмах К чему стоит относиться с особенным вниманием при отправке рассылок. Грамматические ошибки, тема, прехедер и другие стратегически важные составляющие письма. Узнать больше!...

21 03 2025 5:39:13

Что эффективнее: Google Реклама или Bing Ads

Что эффективнее: Google Реклама или Bing Ads Подробно о преимуществах и особенностях двух сервисов контекстной рекламы....

20 03 2025 18:55:29

Как настроить отправку писем с помощью языка R

Как настроить отправку писем с помощью языка R и как избежать подводных камней....

19 03 2025 8:14:47

Как увеличить количество ежемecячных подписок на 100% — кейс kulibin.com.ua

Как увеличить количество ежемecячных подписок на 100% — кейс kulibin.com.ua Благодаря внедрению интеpaктивной формы подписки увеличили количество ежемecячных подписок на 100%, доход — на 51%, а коэффициент транзакций — на 71%....

18 03 2025 21:16:36

10 мощных советов по маркетингу WordPress

Лучшие плагины WordPress для SEO и продвижения сайта в поисковой системе Google и 10 советов для WordPress, которые помогут вам продвигать свой сайт...

17 03 2025 16:50:48

11 полезных сервисов для рассылки по англоязычной аудитории

11 полезных сервисов для рассылки по англоязычной аудитории Список инструментов email-маркетолога для рассылок по англоязычной аудитории....

16 03 2025 23:28:20

Как создать портрет покупателя — руководство для бизнеса от SEMrush

Как создать портрет покупателя — руководство для бизнеса от SEMrush Как создать портрет покупателя и зачем он нужен бизнесу....

15 03 2025 6:20:37

Есть идея для бизнеса. С чего стоит начать?

Есть идея для бизнеса. С чего стоит начать? Руководство к действию от основателя Netpeak Group....

14 03 2025 5:14:41

Google по Монтессори, или Разворот от каверзных интервью

Google по Монтессори, или Разворот от каверзных интервью Правильно задать вопрос или сфоримулировать ответ на собеседовании это еще далеко не все. Рецензия на книгу Ласло Бока «Работа рулит»...

13 03 2025 10:19:19

Расширения объявлений Google Рекламы — краткий обзор

Расширения объявлений Google Рекламы — краткий обзор 11 типов расширений и результат их внедрения на примере запущенных рекламных кампаний...

12 03 2025 7:18:58

Как продвигать видео YouTube в Google Рекламе

Как продвигать видео YouTube в Google Рекламе Есть восхитительная возможность продвинуть видео на YouTube с минимальными финансовыми потерями!...

11 03 2025 12:23:30

Сайт попал под фильтр. Так ли страшен черт, как его малюют?

Сайт попал под фильтр. Так ли страшен черт, как его малюют? Советы специалистов Netpeak: виды фильтров Google, что с этим делать и как снять ручные санкции Google....

10 03 2025 15:33:47

Разбираем архетипические образы в рекламе

Разбираем архетипические образы в рекламе Хорошая история состоит из узнаваемых образов, которые вызывают у пользователя ассоциации с личными переживаниями....

09 03 2025 1:40:26

Влияют ли негативные комментарии на эффективность рекламы в Facebook? Тест на $1000

Помогают ли комментарии повысить эффективность рекламных постов? Единственный способ выяснить наверняка — провести A/B-тестирование в Facebook. Спойлер: тональность комментария также имеет значение в Facebook...

08 03 2025 14:56:50

Новая функция Google Рекламы — общий бюджет

Новая функция Google Рекламы — общий бюджет Распределение бюджета на кампании в Google Рекламе. Обозревает Григорий Крутий....

07 03 2025 4:17:41

Переход на удаленку и положительные тенденции на рынке ecommerce — опыт IT-компании Хорошоп

Переход на удаленку и положительные тенденции на рынке ecommerce — опыт IT-компании Хорошоп О тенденциях на рынке ecommerce и переходе Хорошоп на удалёнку....

06 03 2025 1:33:43

Как работать с Open Graph

Как работать с Open Graph Что нужно сделать, чтобы превью веб-страниц в социальных сетях стало магнитом для пользователей?...

05 03 2025 1:46:51

120 пунктов продающей мобильной версии сайта — чек-лист

120 пунктов продающей мобильной версии сайта — чек-лист Пора сделать так, чтобы мобильная версия сайта приносила прибыль....

04 03 2025 19:36:19

MEGOGO, Google, Фокстрот и AIR Brands — как бренды создают эффективный видеоконтент

MEGOGO, Google, Фокстрот и AIR Brands — как бренды создают эффективный видеоконтент Бренды поделились инсайтами на ДиВи Конф — фишки от MEGOGO, Google, TikTok, Banda, McCann, I am IDEA, AIR Brands, Rocket и Фокстрот...

03 03 2025 4:42:23

Как улучшить UX сайта — 12 советов по юзабилити

Как улучшить UX сайта — 12 советов по юзабилити Какие фишки влияют на видимость сайтов? Советы по юзабилити от SEO-специалиста....

02 03 2025 3:44:47

Что делать со старыми статьями в блоге

Что делать со старыми статьями в блоге Что делать контент-маркетологам, когда все тексты в интернете начнут генерировать боты? Спойлер: обновлять старый контент....

01 03 2025 14:54:40

«Лучший питч — продукт, клиенты и доходы». Интервью с Виталием Гончаруком о маркетинге Augmented Pixels

«Лучший питч — продукт, клиенты и доходы». Интервью с Виталием Гончаруком о маркетинге Augmented Pixels СЕО of Augmented Pixels рассказал нам о принципах ведения бизнеса в Украине и США, о ненужности бизнес-планов и креативных питчей, а также о способе стать лучшим программистом...

28 02 2025 14:41:13

Как стать популярным в Instagram: инфографика

Как стать популярным в Instagram: инфографика Какой контент публиковать в Instagram, зачем ставить хештеги, какие активности интересны пользователям инсты, как ведут свой Инстаграм топовые бренды. Узнать больше!...

27 02 2025 7:50:56

Как настроить триггерные письма в GetResponse

Как настроить триггерные письма в GetResponse Делаем первые шаги к созданию системы email-коммуникаций бренда....

26 02 2025 1:29:58

Как настроить Facebook Business Manager для продвижения мобильного приложения

Как настроить Facebook Business Manager для продвижения мобильного приложения Как зарегистрироваться в приложении Facebook Business Manager и грамотно сделать и настроить аккаунт...

25 02 2025 22:58:44

Как стать партнером Netpeak Alliance

Как стать партнером Netpeak Alliance Новая партнерская программа Netpeak agency. Как получить теплого лида, стабильный пассивный доход, разместить свой логотип и ссылку на сайт на сайте Netpeak и другие бонусы партнерской программы. Узнать больше!...

24 02 2025 15:14:27

SMM продвижение автомобильного бренда — «Дневники тест-драйвера»

Мы предложили фанам бренда прокатиться на автомобиле SEAT Altea Freetrack!...

23 02 2025 11:36:24

Как выбрать нишу для информационного сайта

Узкие специализированные ниши и широкие, которые, как правило, уже заняты лидерами рынка — в каждой найдется место для онлайн-издания с полезным контентом. Узнать больше!...

22 02 2025 11:32:21

Посадочные страницы: инструкция по повышению эффективности

Статья Оливера Гарднера посвящена различным аспектам оптимизации посадочных страниц: дизайну, контексту, созданию кнопки действия...

21 02 2025 15:37:29

Как работать с Excel в рекламной кампании — дайджест публикаций Алексея Селезнева

Дайджест-путеводитель по серии постов о работе с редакторами электронных таблиц для PPC-специалистов....

20 02 2025 22:13:44

7 фобий SMM-специалиста

Осторожно: очень страшно. Про теневой бан, гифки, цену клика, рекламный бюджет, ответы подписчикам, ошибки, наличие интернета подробно и в драматических деталях. Читайте в статье!...

19 02 2025 20:22:30

Маркетинг без бюджета. Как привлечь посетителей на молодой сайт

Маркетинг без бюджета. Как привлечь посетителей на молодой сайт Бесплатно рекламировать и привлечь первых посетителей/клиентов вполне реально своими силами...

18 02 2025 19:18:10

Как увеличить продажи на 75% с помощью внутренней оптимизации сайта — кейс maxi.az

Как увеличить продажи на 75% с помощью внутренней оптимизации сайта — кейс maxi.az Увеличение трафика из поисковых систем Азербайджана на 30% за три месяца. И он продолжает расти...

17 02 2025 20:56:21

Email моей мечты, или Как настроить корпоративную почту

Email моей мечты, или Как настроить корпоративную почту Можно открыть корпоративную почту с использованием собственного сервера для принятия/отправки и с использованием стороннего сервиса от яндекс или гугл...

16 02 2025 17:11:17

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

UX и UI мобильных приложений: что связывает мобильный дизайн и маркетинг Про мобильный дизайн. С красивой и понятной презентацией внутри....

15 02 2025 4:27:46

Как работает баннерная реклама — объясняем на примере кейса

Как работает баннерная реклама — объясняем на примере кейса О феномене Баадера-Майнхофа — как на самом деле работают системы баннерной рекламы в интернете...

14 02 2025 1:45:18

Тактики видеомаркетинга — как покорить алгоритм YouTube

Тактики видеомаркетинга — как покорить алгоритм YouTube Отмена видео-сниппетов в выдаче Google, удаление страницы с тегами и инструмента подсказки ключевых слов в YouTube — все события последних месяцев свидетельствуют: Google всерьёз взялся за видеохостинги и решил изменить правила игры для видеомаркетинга в...

13 02 2025 0:18:22

Как с помощью Google Earth собрать контакты для email-рассылок и холодных звонков

Как с помощью Google Earth собрать контакты для email-рассылок и холодных звонков Проверенный способ для сбора базы данных. Метод, с помощью которого можно извлечь контактные данные, а именно: название точки, телефон, адрес, сайт., а потом высылать своё КП, промокоды для акции, сообщить о выходе товара, сделать спецпредложение...

12 02 2025 17:32:52

Динамический ремаркетинг в Google Рекламе без Google Merchant Center — скрипт для автоматического обновления фида

Динамический ремаркетинг в Google Рекламе без Google Merchant Center — скрипт для автоматического обновления фида Как настроить автоматическое обновление данных о товарах с помощью таблиц Google....

11 02 2025 19:15:26

Массовые действия в Яндекс.Директ — как управлять кампаниями оптом

Массовые действия в Яндекс.Директ — как управлять кампаниями оптом Инструкция для новичков по одновременной работе с кампаниями, а также объявлениями и группами в Яндекс.Директ...

10 02 2025 12:14:25

Группировка ключевых фраз для рекламных кампаний — подробный обзор методов

Группировка ключевых фраз для рекламных кампаний — подробный обзор методов Как правильно группировать ключевые фразы для релевантности рекламных кампаний...

08 02 2025 18:59:16

Как проверить качество кампаний в Google Рекламе за 10 минут

Как быстро определить, что ваш подрядчик плохо работает с рекламной кампанией....

07 02 2025 2:35:44

Зрители Big Money и Артем Бородатюк предложили свои советы по ведению бизнеса

Зрители Big Money и Артем Бородатюк предложили свои советы по ведению бизнеса Советы бизнесу от зрителей Big Money и Артема Бородатюка. Предлагаем 11 универсальных, но простых и понятных идей....

06 02 2025 7:10:15

Еще:
понять и запомнить -1 :: понять и запомнить -2 :: понять и запомнить -3 :: понять и запомнить -4 :: понять и запомнить -5 :: понять и запомнить -6 :: понять и запомнить -7 ::