Вступ до запитань та відповідей щодо інтерв'ю Sqoop

Sqoop - це інструмент передачі даних з відкритим кодом, інструмент Sqoop передає дані між екосистемою Hadoop та реляційними серверами баз даних (RDBMS). Він імпортує дані в файлову систему Hadoop (HDFS), з реляційних баз даних, таких як Oracle, MySQL тощо, також експортує дані з файлової системи Hadoop в RDMS.

Нижче наведено 15 важливих запитань та відповідей щодо інтерв'ю Sqoop 2019 року:

Отже, ви нарешті знайшли роботу своєї мрії у Sqoop, але цікавитесь, як зламати інтерв'ю Sqoop та що може бути вірогідним питанням інтерв'ю Sqoop 2019 року. Кожне інтерв'ю різне, а сфера роботи теж різна. Маючи це на увазі, ми розробили найпоширеніші запитання та відповіді щодо інтерв'ю Sqoop, які допоможуть вам досягти успіху в інтерв'ю.

Ці питання поділяються на дві частини:

Частина 1 - Питання інтерв'ю Sqoop (основні)

Ця перша частина стосується основних запитань та відповідей щодо інтерв'ю Sqoop.

1. Визначте Sqoop і чому ми використовуємо Sqoop?

Відповідь:
Sqoop - це інструмент передачі даних із відкритим кодом, який призначений для передачі даних між екосистемою Hadoop та реляційними серверами баз даних (RDBMS). Sqoop використовується для імпорту даних із реляційних баз даних, таких як Oracle, MySQL тощо, до файлової системи Hadoop (HDFS), а також для експорту даних з файлової системи Hadoop до реляційних баз даних.

2. У чому полягають особливості Sqoop?

Відповідь:
Нижче наведено різні функції, які підтримує Sqoop -

  1. Вантажопідйомність
  2. Повне завантаження та поступове завантаження
  3. Методи стиснення даних
  4. Імпорт результатів запитів SQL
  5. Роз'єми даних для всіх основних баз даних
  6. Підтримка прямого завантаження даних у файлові системи Hadoop
  7. Конфігурації безпеки типу Kerberos
  8. Паралельні функції імпорту чи експорту

Перейдемо до наступних запитань щодо інтерв'ю Sqoop.

3. Назвіть реляційні бази даних та джерела екосистеми Hadoop, які підтримуються в Sqoop?

Відповідь:
В даний час Sqoop підтримує MySQL, PostgreSQL, Oracle, MSSQL, Teradata та IBM Netezza як частину баз даних відносин.

Наразі підтримувані послуги Hadoop Eco-системи призначення - HDFC, Hive, HBase, H Catalog та Accumulo.

Sqoop використовує MySQL як базу даних за замовчуванням.

4. Як працює Sqoop?

Відповідь:
Це поширені питання інтерв'ю Sqoop, задані в інтерв'ю. Для здійснення передачі даних Sqoop використовує команди експорту та імпорту. Програма зменшення карт буде використовуватися в Sqoop внутрішньо для зберігання набору даних до HDFS. Команди будуть пов’язані із завданнями на карті для отримання даних із реляційних баз даних; Завдання скорочення візьме на себе відповідальність за розміщення отриманих даних у місцях призначення (HDFS / HBase / Вулей)

Sqoop також використовує різні роз'єми API для з'єднання з декількома базами даних. Sqoop також надає можливість створювати спеціальні роз'єми для задоволення конкретних вимог.

Давайте подивимося нижче приклади команд для імпорту та експорту

Команда для підключення до бази даних MySQL для імпорту даних із таблиці "Журнал"

імпорт sqoop – підключити jdbc: mysql: // localhost / –користувач –парлова – таблиця –m 1
імпорт sqoop – підключити jdbc: mysql: // localhost / mytestdb –користувач root-пароль word123 – журнал –m 1

Команда для експорту даних з HDFS в реляційну базу даних

експорт sqoop – підключити jdbc: mysql: // localhost / sqoop_export –table export-dir / sqoop / emp_last / part-m-00000 – id оновлення ключа
експорт sqoop – підключити jdbc: mysql: // localhost / sqoop_export – таблиця log_table – export-dir / sqoop / дані / foler1 / part-m-00000

5. Що таке Sqoop Metastore? Поясніть це?

Відповідь:
Sqoop Metastore - це інструмент, доступний у Sqoop, який буде використовуватися для налаштування програми Sqoop для забезпечення розміщення спільного сховища у вигляді метаданих. Цей Metastore може використовуватися для виконання завдань та керування низкою користувачів на основі ролей та дій користувачів. Всі багато користувачів можуть одночасно виконувати кілька завдань або операцій для ефективного досягнення цих завдань. Sqoop Metastore буде реалізовано як представлення в пам'яті за замовчуванням. Коли завдання створюється в Sqoop, визначення завдання зберігається всередині Metastore і перераховується, використовуючи завдання Sqoop, якщо потрібно.

6. Які формати файлів підтримує Sqoop під час імпорту даних?

Відповідь:
Sqoop використовує два формати файлів для імпорту даних. Вони: - Розмежований формат тестового файлу та послідовний формат файлу.

Формат розмежуваного текстового файлу : Формат розділеного тексту - це формат файлу за замовчуванням для імпорту. Ще можна чітко вказати, використовуючи аргумент –astext. Аналогічно при передачі аргументу буде встановлено знаки розмежувача між рядками та стовпцями.

Формат файлу послідовності : Цей формат файлу, ми можемо сказати, що це бінарний формат файлу. Цей тип записів файлових форматів зберігається у конкретних типах записів, які піддаються вибору у вигляді класів Java.

Перейдемо до наступних запитань щодо інтерв'ю Sqoop.

7. Чи можемо ми керувати кількома картографами в sqoop? Якщо так, то як?

Відповідь:
Так, ми можемо контролювати кількість відображувачів у Sqoop, вказавши параметр "-num-mappers" у команді sqoop. Цей параметр може керувати кількістю задач на карті, тобто ступінь паралелізму буде використовуватися sqoop. Число визначається виходячи з вимоги.

Синтаксис: Використовуйте ці прапори для управління кількістю відображувачів: m, -num- mappers

Частина 2 - Питання інтерв'ю Sqoop (розширено)

Давайте тепер подивимось на розширені питання інтерв'ю Sqoop.

8. Що таке Sqoop-merge та поясніть його використання?

Відповідь:
Sqoop merge - це інструмент, який поєднує в собі два різних набори даних, які підтримують єдину версію, перезаписуючи записи в старішій версії набору даних новими файлами, щоб зробити це набором даних останньої версії. Трапляється процес вирівнювання під час злиття двох різних наборів даних, що зберігає дані без втрат та з ефективністю та безпекою. Для виконання цієї операції буде використовуватися команда ключа злиття типу "–міст-ключ"

9. Які відмінності між Sqoop, flume та distcp?

Відповідь:
І Distcp, і Sqoop використовуються для передачі даних. Sqoop використовується для передачі будь-якого типу даних з одного кластера Hadoop до іншого кластеру, тоді як Sqoop передає дані між реляційними базами даних та екосистемою Hadoop, такими як Hive, HDFS, HBase та ін. Але обидва методи використовують один і той же підхід для копіювання даних., що є тягнути / передати.

Flume поширив інструмент, що відповідає архітектурі на основі агентів, для передачі журналів в екосистему Hadoop. Тоді як Sqoop - це архітектура, що базується на роз'ємах.

Flume збирає та агрегує величезну кількість даних журналу. Flume може збирати дані з різних типів ресурсів; він не враховує схему або структуровані / неструктуровані дані. Flume може витягувати будь-який тип даних. Тоді як Sqoop може імпортувати лише дані реляційних баз даних, то для обробки sqoop схема є обов'язковою. Як правило, для переміщення об'ємних навантажень найкраще підійде флюм.

Перейдемо до наступних запитань щодо інтерв'ю Sqoop.

10. Які джерела даних підтримує Apache Sqoop?

Відповідь:
Різні джерела даних з різних додатків, що підтримуються Apache Sqoop, наведені нижче:

  1. Вулик
  2. HBase
  3. Розподілена файлова система Hadoop (HDFS)
  4. HCatalog
  5. Накопичувач

11. Які команди / функції у Sqoop найбільш використовуються?

Відповідь:

Це розширені питання інтерв'ю Sqoop, задані в інтерв'ю. Список основних команд, що використовуються в Sqoop, є наступним:

Codegen -Codegen використовується для генерування коду для спілкування із записами бази даних.

Eval -Sqoop Eval допомагає виконувати зразки запитів SQL проти баз даних та надає результати на консолі.

Довідка - Довідка перелічі доступні команди

Імпорт - імпорт імпортує таблицю в екосистему Hadoop

Експорт -Експорт використовується для експорту даних HDFS до реляційних баз даних.

Створити-вулик-таблицю - Ця команда корисна для імпорту визначення таблиці в вулик

Імпорт всіх таблиць - Імпорт всіх таблиць імпортує таблиці для формування реляційних баз даних на HDFS.

Список баз даних - Він перелічить усі бази даних, наявні на сервері.

Список-таблиці - У ньому будуть перераховані всі таблиці, присутні в базі даних.

Версії - Він відображатиме інформацію про версію.

Функції- Паралельний імпорт / експорт, повне завантаження, поступове навантаження, повне завантаження, порівняння, роз'єми для баз даних RDBMS, інтеграція безпеки Kerberos, завантаження даних безпосередньо в HDFS (вулик / HBase)

12. Поясніть найкращі практики під час імпорту таблиць з MySQL або будь-яких інших баз даних за допомогою Sqoop?

Відповідь:
Імпортуючи таблиці з MySQL, ми повинні переконатися в кількох речах, таких як аутентифікація та авторизація на цільовому сервері та базах даних. Нам потрібно переконатися, що ми надали необхідні привілеї в базах даних, до яких потрібно отримати доступ, а також переконатися в роздільній здатності імені хоста під час підключення до імені джерела та пункту призначення. Якщо у нас немає необхідного дозволу, під час підключення до бази даних ми отримаємо виняток відмови в з’єднанні.

13. Як оновлювати вже експортовані дані чи рядки?

Відповідь:
Для оновлення рядків, які вже експортуються до пункту призначення, ми можемо скористатися параметром «–оновити ключ». У цьому списку стовпців, відокремлених комою, використовується однозначно ідентифікує рядок, і всі ці стовпці використовуються в пункті WHERE створеного запиту UPDATE. SET частина запиту буде піклуватися про всі інші стовпці таблиці.

Перейдемо до наступних запитань щодо інтерв'ю Sqoop.

14. Як налаштувати та встановити драйвер JDBC в Apache Sqoop?

Відповідь:
Драйвери JDB в Apache Sqoop можна налаштувати на основі постачальника Hadoop, таких як Cloudera або Hortonworks, де він трохи змінюється в своїй конфігурації на основі постачальника Hadoop. JDBC в Cloudera можна налаштувати так, як створити папку бібліотеки типу / var / lib /. Це можна зробити для будь-якої сторонньої бібліотеки, яку потрібно налаштувати відповідно до вимоги. Таким чином, будь-який тип баз даних може бути налаштований за допомогою свого драйвера JDBC. Крім драйвера JDBC, Apache Sqoop потрібен роз'єм для встановлення зв'язку між різними реляційними базами даних. Основні компоненти, необхідні для встановлення зв'язку з базами даних, - це через драйвер і з'єднувач конкретного постачальника баз даних.

15. Що таке розділений пункт і коли ми його використовуємо?

Відповідь:
Параметр розділення за поділом призначений для нарізки даних, які потрібно імпортувати, у декілька паралельних завдань. Використовуючи цей параметр, ми можемо вказати назви стовпця, це ім’я стовпців, на основі яких sqoop буде ділити дані, які потрібно імпортувати, на кілька фрагментів, і вони будуть працювати паралельно. Це одна з методик налаштування продуктивності в Sqoop.

Рекомендовані статті

Це було керівництвом щодо списку запитань та відповідей щодо інтерв'ю Sqoop, щоб кандидат міг легко розбити ці запитання щодо інтерв'ю Sqoop. Ви також можете переглянути наступні статті, щоб дізнатися більше -

  1. Хадоп проти Терадата - Що вигідно
  2. 13 дивовижних питань тестування баз даних інтерв'ю
  3. Топ-10 найкорисніших запитань щодо інтерв'ю HBase
  4. 10 найдивовижніших питань для інтерв'ю PHP для досвідчених
  5. Знайте топ 5 корисних запитань щодо інтерв'ю DBA