- •I also would like to thank Frank van Harmelen who offered me a job and Мен сондай-ақ маған жұмыс ұсынды және кім Франк Ван Harmelen алғысымды білдіргім келеді
- •1.2 Parallel and distributed reasoning 1.2 параллель және таратылған пайымдау
- •2.6 The MapReduce programming model 2.6 MapReduce бағдарламалау моделі
- •100 1 Млн Құрылғыны пайдалану үштіктің мен нәтижелері sublinear ауқымдылығы көрсетеді.
- •3.3 Сөздік кодтау
- •4.1 Неге біз сөздік кодтау мұқтажбыз
- •140Mb туралы, бұл әлі күнге дейін нақты машиналар үшін мүмкін, бірақ аз емес сома болып табылады
- •300 Млн бірегей ресурстары. Мөлшерін, біздің алдыңғы баға жасай отырып,
- •4.4.1 Шолу
- •3 Тапсырма өз міндеті id кодтау байт. Міндет id маркер өзіндік ретінде әрекет
- •Id және мәні ретінде үштік толық емес тіпті редукторы өңдеуге бар, сондықтан
- •13 Біз, өйткені тіпті біз жабу есептеу тіркелген нүктеге жетті
- •5.4 Үшінші және қорытынды жүзеге асыру
- •ValuesToMatch. (мәндер) қосу
- •Inverseofproperties (егер. (мәні бар. Береді,), содан кейін
- •6.4 Үшінші блок: sameAs есептілігі
- •6.5. Төртінші блок: сыныбы және subproperty есебіне 61 эквиваленттік
- •6.5 Төртінші блок: сыныбында бастап эквиваленттік және
- •6.7 Алтыншы блок: мұраға сияқты
- •6.8 Жетінші блок: hasValue мәлімдемелер
- •64 Тораптар келді.
- •12 Сағат, 130 жұмыс орны іске қосылды және астам 3.8b үштіктің алынған.
3 Тапсырма өз міндеті id кодтау байт. Міндет id маркер өзіндік ретінде әрекет
бұл карта құрушының тағайындауға болады, онда ауқымын басталу нүктесін көрсетеді
сандар. Келесі 4 байт, бұл жергілікті санауыш мәнін жазады
түрлендіргіш енгізу әрбір үштік үшін арттырады. міндет ID комбинациясы және
Жергілікті қарсы Triple идентификаторы білдіреді бірегей нөмірі болып табылады.
Реттелуіне құнының соңғы байт біз ресурс ұстанымын кодтау
Атап айтқанда, үштік жылы.
Біз кіріс үштік Мысалы:
<С> <P> <O>.
түрлендіргіш ерік шығу үш луын
<С, triple_id + пән>
<P, triple_id + предикат>
<O, triple_id + нысан>
ресурстар азайту кезеңінде топтастырылған болады. Бірінші
редукторы ресурстарды әр бірегей нөмірін тағайындайды. Содан кейін ол Итерация
кілтімен байланысты құндылықтар астам және негізгі ретінде бар қойылуы шығарады
өту жалауы бастап алынған бір ресурсқа және мән ретінде тағайындалған саны.
идентификациясына міндет идентификаторымен, бұрынғыға қарағанда ұқсас жолмен тағайындалған
біз емес бұл тұрғыда соңғы 4 алғашқы 3 байт және жергілікті мән санауыш
бұл кіріс нөмірі өңделген болуы мүмкін, себебі салдары нөмірлерін тағайындау
редукторлар арқылы ауқымында қол жетімді сандар қарағанда кішірек болады. Алайда, бұл
Біріншіден, біз шығаруды қысудан көп қызықтырады, себебі: үлкен мәселе емес
жақсы және тиімді сөздік және екінші ғимарат қарағанда, біз шектеуге болады
мүмкіндігінше жақын ауқымын таңдау бөлімдер арасындағы алшақтық
Кетіргіш енгізуін нақты мөлшері тыс қалған аз ғана сандар бар, сондықтан. The
алгоритм алгоритм хабарлайды 2.
Page 32 |
MAPREDUCE функциялары ретінде 32CHAPTER 4. сөздік кодтау
Алгоритм 2 Сөздік кодтамасы: бірінші жұмыс
Картада (басты, мәні):
// Кілт: маңызды емес
// Мәні: N-үштік форматында үштік
Жергілікті қарсы = жергілікті есептегіш + 1
алғашқы 3 байт tripleid = тапсырма ID + жергілікті есептегіш
ресурстар [] = сплит (құны)
шығару. (ресурс [0], tripleid + пән) жинау
шығару. (ресурс [1], tripleid + предикат) жинау
шығару. (ресурс [2], tripleid + нысан) жинау
(кілтін итератора мәндерін) азайту:
// Мен 'кілт' ресурстың үшін бірегей ID тағайындау
Жергілікті қарсы = жергілікті есептегіш + 1
алғашқы 3 байт ресурс ID = тапсырма ID + жергілікті есептегіш
(құндылықтар құнының) үшін
шығыс (ресурстық ID, ИТҚ келесі)
өндірісінің луын ресурстар мен арасындағы қарым-қатынастарды қамтиды
үштік. біз екі нөмері ретінде ресурсқа қатынау ғана сәт
бер және мәтіндік сондықтан біз осында, редуктор тапсырманы орындау кезінде, сондай-ақ
қауымдастығын бар сөздік <нөмері құрылыс қамқорлық керек
бер, мәтін>. Сөздік MySQL жылы бөлінген хэш кестеде сақтауға болады
дерекқор немесе жай жекелеген файлдарда. Біз сөздік біз сақтауға келмесе,
олардың түпнұсқа форматында үштіктің кодтан мүмкін емес болады.
Екінші тапсырманы 4.4.3: үштіктің жазып
Бұл екінші тапсырма жеңіл және алдыңғысынан орындауға жылдам. The
түрлендіргіш алдыңғы жұмыс шығаруды оқиды және құны бар пернесін ауыстыра
және ол қор идентификаторы реттелуіне негізгі үштік идентификаторы ретінде және мән ретінде орнатады плюс
ресурс позиция.
Азайту кезеңінде үштік Triple себебі топтастырылған болады
ID реттелуіне негізгі болып табылады. редукторы жай құндылықтарды жылжиды және қалпына келтіру
қор идентификаторы мен жағдайы қамтылған ақпаратты пайдалана отырып, үштіктің.
Біздің іске асыру үштік бар Java объектісі сақталады
пән, предикат және ұзақ сандармен ұсынылған нысан. The
нысан, егер жазу үшін ресурстарды плюс бір байттан сақтау үшін кеңістік 24 байт алады
нысан мағынада немесе жоқ болып табылады. Бұл үштік бір дискіде сақтауға болады дегенді білдіреді
тек 25 байт бар. Үштіктің 800 млн, сондықтан қысылмаған бар
кодталған нұсқасы 150GB қажет қарсы сақталуы тиіс тек 19GB талап
Page 33 |
4.4. ТЕК MAPREDUCE ПАЙДАЛАНУ сөздік кодтау
33
Алгоритм 3 Сөздік кодтамасы: екінші тапсырма
Картада (басты, мәні):
// Негізгі: Ресурс идентификаторы
// Мәні: үштік ID + позиция
шығару. (мәні. tripleid, кілт + мәні. позиция) жинау
(кілтін итератора мәндерін) азайту:
(құндылықтар құнының) үшін
мәні болса. позиция = пән жоқ
пән = мәні. ресурс
мәні болса. лауазымы = предикат істеу
предикат = мәні. ресурс
позиция = objectnotliteral, егер
нысан = мәні. ресурс
жалған = objectliteral
позиция = objectliteral, егер
нысан = мәні. ресурс
шынайы = objectliteral
шығару (нөл,
Triple (тақырыбы, предикат, объектісі, objectliteral))
бастапқы форматта үштіктің сақтау үшін. Бұл негіздері тарылуына пайдалану
деңгейі шамамен 1: 8.
Жүктемені теңгеру болдырмау үшін кэшті пайдалану 4.4.4
бірінші жұмыс баяулатуы мүмкін жүктеуді теңдестіру проблемасын зардап шегуі мүмкін
есептеу. Белгілі бір ресурс өте танымал болса көптеген халықаралық болады
дәл сол пернеде және олардың барлық луын жіберген және өңделетін болады араағайындық
бір машинада орындалады бір редукторы міндет.
Бұл жүктеуді теңдестіру проблема біз тек Triple жіберу фактісі шектеледі
