Изтеглете PDF
Следват често задавани въпроси в интервюта за по-свежи, както и опитни програмисти.
1) Какво е Hadoop Map Reduce?
За паралелна обработка на големи масиви от данни в клъстер Hadoop се използва рамката Hadoop MapReduce. Анализът на данни използва двустепенна карта и процес на намаляване.
2) Как работи Hadoop MapReduce?
В MapReduce, по време на фазата на картата, той брои думите във всеки документ, докато във фазата на намаляване той обобщава данните според документа, обхващащ цялата колекция. По време на фазата на картите входните данни се разделят на разделяния за анализ чрез задачи на картата, изпълняващи се паралелно в Hadoop рамката.
3) Обяснете какво е размесването в MapReduce?
Процесът, при който системата извършва сортирането и прехвърля изходите на картата към редуктора като входове, е известен като разбъркване
4) Обяснете какво се разпределя кеш в MapReduce Framework?
Разпределеният кеш е важна функция, предоставена от рамката MapReduce. Когато искате да споделите някои файлове във всички възли в клъстера Hadoop, се използва разпределен кеш. Файловете могат да бъдат изпълними jar файлове или прости файлове с свойства.
5) Обяснете какво е NameNode в Hadoop?
NameNode в Hadoop е възелът, където Hadoop съхранява цялата информация за местоположението на файла в HDFS (Hadoop Distributed File System). С други думи, NameNode е в центъра на файловата система HDFS. Той поддържа записа на всички файлове във файловата система и проследява файловите данни в клъстера или на множество машини
6) Обяснете какво е JobTracker в Hadoop? Какви са действията, последвани от Hadoop?
В Hadoop за изпращане и проследяване на задания MapReduce се използва JobTracker. Проследяването на работа се изпълнява по собствен JVM процес
Job Tracker извършва следните действия в Hadoop
- Приложението на клиента изпраща задания в инструмента за проследяване на работа
- JobTracker комуникира с режима на име, за да определи местоположението на данните
- В близост до данните или с налични слотове JobTracker намира възли на TaskTracker
- На избраните възли на TaskTracker той изпраща работата
- Когато дадена задача се провали, Job tracker уведомява и решава какво да прави тогава.
- Възлите на TaskTracker се наблюдават от JobTracker
7) Обяснете какво е пулсът в HDFS?
Heartbeat се отнася за сигнал, използван между възел за данни и възел за име, както и между проследяващ задача и проследяващ задание, ако възелът за име или проследяващият задание не реагира на сигнала, тогава се счита, че има някои проблеми с възела за данни или задачата преследвач
8) Обяснете какво представляват комбинаторите и кога трябва да използвате комбинатор в задание MapReduce?
За да се повиши ефективността на програмата MapReduce, се използват Комбинатори. Обемът на данните може да бъде намален с помощта на комбинатори, които трябва да бъдат прехвърлени към редукторите. Ако извършената операция е комутативна и асоциативна, можете да използвате кода на редуктора си като комбинатор. Изпълнението на комбинатора не е гарантирано в Hadoop
9) Какво се случва, когато възел за данни откаже?
Когато възел за данни се провали
- Jobtracker и namenode откриват повредата
- На неуспешния възел всички задачи са пренасрочени
- Namenode репликира данните на потребителя на друг възел
10) Обяснете какво е спекулативно изпълнение?
В Hadoop по време на спекулативно изпълнение се стартират определен брой дублирани задачи. На различен подчинен възел могат да бъдат изпълнени множество копия на една и съща карта или задача за намаляване с помощта на Speculative Execution. С прости думи, ако дадено устройство отнема много време за изпълнение на задача, Hadoop ще създаде дублирана задача на друг диск. Диск, който завърши задачата първи, се запазва, а дисковете, които не завършат първи, се убиват.
11) Обяснете кои са основните параметри на Mapper?
Основните параметри на Mapper са
- LongWritable и Text
- Текст и безпроблемно записване
12) Обяснете каква е функцията на MapReduce дял?
Функцията на разделителя MapReduce е да гарантира, че цялата стойност на един ключ отива към един и същ редуктор, което в крайна сметка помага за равномерното разпределение на изхода на картата върху редукторите
13) Обяснете каква е разликата между Input Split и HDFS Block?
Логическото разделяне на данните е известно като разделяне, докато физическото разделяне на данни е известно като HDFS Block
14) Обяснете какво се случва в текстов формат?
Във формат за въвеждане на текст всеки ред в текстовия файл е запис. Стойността е съдържанието на реда, докато Key е изместването на байта на реда. Например Key: longWritable, Value: text
15) Споменете кои са основните конфигурационни параметри, които потребителят трябва да посочи, за да изпълни MapReduce Job?
Потребителят на рамката MapReduce трябва да посочи
- Места за въвеждане на задание в разпределената файлова система
- Изходно местоположение на заданието в разпределената файлова система
- Формат на въвеждане
- Изходен формат
- Клас, съдържащ функцията на картата
- Клас, съдържащ функцията за намаляване
- JAR файл, съдържащ класовете за картографиране, редуктор и драйвер
16) Обяснете какво е WebDAV в Hadoop?
За да поддържа редактиране и актуализиране на файлове, WebDAV е набор от разширения за HTTP. В повечето операционни системи споделянията на WebDAV могат да бъдат монтирани като файлови системи, така че е възможно достъп до HDFS като стандартна файлова система чрез излагане на HDFS през WebDAV.
17) Обяснете какво е Sqoop в Hadoop?
За прехвърляне на данните между Релационно управление на база данни (RDBMS) и Hadoop HDFS се използва инструмент, известен като Sqoop. Използването на Sqoop данни може да се прехвърля от RDMS като MySQL или Oracle в HDFS, както и да се експортират данни от HDFS файл в RDBMS
18) Обяснете как JobTracker планира задача?
Проследявачът на задачи изпраща съобщения за сърдечен ритъм до Jobtracker обикновено на всеки няколко минути, за да се увери, че JobTracker е активен и функционира. Съобщението също така информира JobTracker за броя на наличните слотове, така че JobTracker може да бъде в крак с времето, при което работата на клъстера може да бъде делегирана
19) Обяснете какво е Sequencefileinputformat?
Sequencefileinputformat се използва за четене на файлове в последователност. Това е специфичен компресиран двоичен файлов формат, който е оптимизиран за предаване на данни между изхода на едно задание MapReduce към входа на друго задание MapReduce.
20) Обяснете какво прави класът conf.setMapper?
Conf.setMapperclass задава класа на mapper и всички неща, свързани с работата на картата, като четене на данни и генериране на двойка ключ-стойност от mapper
21) Обяснете какво е Hadoop?
Това е софтуерна рамка с отворен код за съхранение на данни и стартиране на приложения на клъстери на стоков хардуер. Той осигурява огромна обработваща мощ и масивно съхранение за всякакъв вид данни.
22) Споменете каква е разликата между RDBMS и Hadoop?
RDBMS | Hadoop |
RDBMS е релационна система за управление на база данни | Hadoop е плоска структура, базирана на възел |
Използва се за обработка на OLTP, докато Hadoop | В момента се използва за аналитична и за обработка на BIG DATA |
В RDBMS клъстерът на базата данни използва същите файлове с данни, съхранявани в споделено хранилище | В Hadoop данните за съхранение могат да се съхраняват независимо във всеки възел за обработка. |
Трябва да обработите предварително данни, преди да ги съхраните | не е необходимо да обработвате предварително данни, преди да ги съхранявате |
23) Споменете основните компоненти на Hadoop?
Основните компоненти на Hadoop включват,
- HDFS
- MapReduce
24) Какво е NameNode в Hadoop?
NameNode в Hadoop е мястото, където Hadoop съхранява цялата информация за местоположението на файла в HDFS. Това е главният възел, на който се изпълнява тракерът за работа и се състои от метаданни.
25) Споменете кои са компонентите за данни, използвани от Hadoop?
Компонентите за данни, използвани от Hadoop, са
- Прасе
- Кошера
26) Споменете какъв е компонентът за съхранение на данни, използван от Hadoop?
Компонентът за съхранение на данни, използван от Hadoop, е HBase.
27) Споменете кои са най-често срещаните входни формати, дефинирани в Hadoop?
Най-често срещаните входни формати, дефинирани в Hadoop са;
- TextInputFormat
- KeyValueInputFormat
- SequenceFileInputFormat
28) В Hadoop какво е InputSplit?
Той разделя входните файлове на парчета и присвоява всяко разделяне на картограф за обработка.
29) За работа в Hadoop, как ще напишете персонализиран дял?
Пишете персонализиран дял за работа в Hadoop, следвате следния път
- Създайте нов клас, който разширява Partitioner Class
- Замяна на метода getPartition
- В обвивката, която изпълнява MapReduce
- Добавете персонализирания дял към заданието, като използвате метода Partitioner Class или - добавете персонализирания дял към заданието като конфигурационен файл
30) Възможно ли е за работа в Hadoop да се промени броят на създадените картографи?
Не, не е възможно да се промени броят на създадените картографи. Броят на картографиращите се определя от броя на входните разделяния.
31) Обяснете какво е файл с последователност в Hadoop?
За съхранение на двоични двойки ключ / стойност се използва последователен файл. За разлика от обикновения компресиран файл, последователният файл поддържа разделяне, дори когато данните във файла са компресирани.
32) Когато Namenode не работи, какво се случва с инструмента за проследяване на работа?
Namenode е единичната точка на отказ в HDFS, така че когато Namenode е надолу, вашият клъстер ще потегли.
33) Обяснете как се извършва индексирането в HDFS?
Hadoop има уникален начин за индексиране. След като данните се съхраняват според размера на блока, HDFS ще продължи да съхранява последната част от данните, която казва къде ще бъде следващата част от данните.
34) Обяснете възможно ли е да се търсят файлове с заместващи символи?
Да, възможно е да се търсят файлове с помощта на заместващи символи.
35) Избройте трите конфигурационни файла на Hadoop?
Трите конфигурационни файла са
- core-site.xml
- mapred-site.xml
- hdfs-site.xml
36) Обяснете как можете да проверите дали Namenode работи освен с помощта на командата jps?
Освен че използвате командата jps, за да проверите дали Namenode работят, можете да използвате и нея
/etc/init.d/hadoop-0.20- статус на имена.
37) Обяснете какво е „карта“ и какво е „редуктор“ в Hadoop?
В Hadoop картата е фаза в разрешаването на заявки за HDFS. Карта чете данни от входно място и извежда двойка ключови стойности според типа на въвеждане.
В Hadoop редуктор събира изхода, генериран от картографа, обработва го и създава свой собствен краен изход.
38) В Hadoop кой файл контролира отчитането в Hadoop?
В Hadoop файлът hadoop-metrics.properties контролира отчитането.
39) За използване на списъка на Hadoop с мрежовите изисквания?
За използване на Hadoop списъкът с мрежовите изисквания са:
- SSH връзка без парола
- Secure Shell (SSH) за стартиране на сървърни процеси
40) Споменете какво е осъзнаване на багажника?
Информираността за багажника е начинът, по който namenode определя как да поставя блокове въз основа на дефинициите на багажника.
41) Обяснете какво е Track Task Tracker в Hadoop?
Проследяващият задачи в Hadoop е демон на подчинен възел в клъстера, който приема задачи от JobTracker. Той също така изпраща съобщения за сърдечен ритъм на JobTracker на всеки няколко минути, за да потвърди, че JobTracker е все още жив.
42) Споменете какви демони се изпълняват на главен възел и подчинени възли?
- Демоните, изпълнявани на главния възел, са "NameNode"
- Демоните, изпълнявани на всеки Slave възел, са „Task Tracker“ и „Data“
43) Обяснете как можете да отстранявате грешки в кода на Hadoop?
Популярните методи за отстраняване на грешки в кода на Hadoop са:
- Чрез използване на уеб интерфейс, предоставен от Hadoop framework
- Чрез използване на броячи
44) Обяснете какво е съхранение и изчислителни възли?
- Възелът за съхранение е машината или компютърът, където се намира вашата файлова система, за да съхранява данните за обработка
- Изчислителният възел е компютърът или машината, където ще бъде изпълнена действителната ви бизнес логика.
45) Споменете каква е ползата от Context Object?
Контекстният обект позволява на картографа да взаимодейства с останалата част от Hadoop
система. Включва конфигурационни данни за заданието, както и интерфейси, които му позволяват да излъчва изход.
46) Споменете каква е следващата стъпка след Mapper или MapTask?
Следващата стъпка след Mapper или MapTask е, че изходът на Mapper е сортиран и за изхода ще бъдат създадени дялове.
47) Споменете какъв е броят на подразделенията по подразбиране в Hadoop?
В Hadoop подразбиращият се дял по подразбиране е “Hash” Partitioner.
48) Обяснете каква е целта на RecordReader в Hadoop?
В Hadoop RecordReader зарежда данните от своя източник и ги преобразува в двойки (ключ, стойност), подходящи за четене от Mapper.
49) Обяснете как данните се разделят, преди да бъдат изпратени на редуктора, ако в Hadoop не е дефиниран персонализиран дял?
Ако в Hadoop не е дефиниран персонализиран дял, тогава делителят по подразбиране изчислява хеш стойност за ключа и присвоява дяла въз основа на резултата.
50) Обяснете какво се случва, когато Hadoop породи 50 задачи за работа и една от задачите се провали?
Той ще рестартира задачата отново на някой друг TaskTracker, ако задачата се провали повече от определеното ограничение.
51) Споменете кой е най-добрият начин за копиране на файлове между HDFS клъстери?
Най-добрият начин за копиране на файлове между HDFS клъстери е чрез използване на множество възли и командата distcp, така че работното натоварване се споделя.
52) Споменете каква е разликата между HDFS и NAS?
HDFS блоковете с данни се разпределят между локалните устройства на всички машини в клъстер, докато данните от NAS се съхраняват на специален хардуер.
53) Споменете как Hadoop се различава от другите инструменти за обработка на данни?
В Hadoop можете да увеличите или намалите броя на картографиращите, без да се притеснявате за обема на данните, които трябва да бъдат обработени.
54) Споменете каква работа върши класът conf?
Класът Job conf отделя различни задачи, изпълнявани в един и същ клъстер. Той прави настройки на нивото на работа, като например деклариране на работа в реална среда.
55) Споменете какъв е договорът на API на Hadoop MapReduce за клас ключ и стойност?
За клас ключ и стойност има два договора за API на Hadoop MapReduce
- Стойността трябва да определя интерфейса org.apache.hadoop.io.Writable
- Ключът трябва да е дефинирането на org.apache.hadoop.io.WritableComparable интерфейс
56) Споменете кои са трите режима, в които може да се изпълнява Hadoop?
Трите режима, в които може да се изпълнява Hadoop, са
- Псевдо разпределен режим
- Самостоятелен (локален) режим
- Напълно разпределен режим
57) Споменете какво прави форматът за въвеждане на текст?
Форматът за въвеждане на текст ще създаде линеен обект, който е шестнадесетично число. Стойността се разглежда като текст на цял ред, докато ключът се разглежда като обект на линия. Картографът ще получи стойността като параметър 'text', докато ключът ще бъде параметър 'longwriteable'.
58) Споменете колко InputSplits се правят от Hadoop Framework?
Hadoop ще направи 5 разделения
- 1 разделяне за 64K файлове
- 2 разделени за 65mb файлове
- 2 разделя за 127mb файлове
59) Споменете какво е разпределения кеш в Hadoop?
Разпределеният кеш в Hadoop е средство, предоставено от рамката MapReduce. По време на изпълнението на заданието той се използва за кеширане на файл. Framework копира необходимите файлове в подчинения възел преди изпълнението на която и да е задача в този възел.
60) Обяснете как Hadoop Classpath играе жизненоважна роля при спирането или стартирането в демони на Hadoop?
Classpath ще се състои от списък с директории, съдържащи jar файлове за спиране или стартиране на демони.