Apache Hive
અપાચે હાઇવ એ ડેટા ક્વેરી અને વિશ્લેષણ પ્રદાન કરવા માટે અપાચે હડૂપની ટોચ પર બાંધવામાં આવેલ ડેટા વેરહાઉસ સોફ્ટવેર પ્રોજેક્ટ છે. હાઈવ વિવિધ ડેટાબેઝ અને ફાઇલ સિસ્ટમ્સમાં સંગ્રહિત ડેટાને ક્વેરી કરવા માટે એસક્યુએલ જેવું ઇન્ટરફેસ આપે છે જે Hadoop સાથે સંકલિત થાય છે. વિતરિત ડેટા પર એસક્યુએલ કાર્યક્રમો અને ક્વેરીઝ ચલાવવા માટે પરંપરાગત એસક્યુએલ ક્વેરીઝ મેપરેડ્યુસ જાવા એપીઆઈમાં અમલમાં મૂકવી આવશ્યક છે. હાઇવ નિમ્ન-સ્તરના જાવા APIમાં ક્વેરીઓને અમલમાં મૂકવાની જરૂર વગર અંતર્ગત જાવામાં SQL જેવી ક્વેરીઝ (HiveQL) ને સંકલિત કરવા માટે જરૂરી SQL એબ્સ્ટ્રેક્શન પ્રદાન કરે છે. મોટાભાગની ડેટા વેરહાઉસિંગ એપ્લિકેશનો એસક્યુએલ-આધારિત ક્વેરીંગ ભાષાઓ સાથે કામ કરે છે, હાઇવ હડૂપમાં એસક્યુએલ-આધારિત એપ્લિકેશનોની પોર્ટેબિલિટીમાં સહાય કરે છે. જ્યારે શરૂઆતમાં ફેસબુક દ્વારા વિકસાવવામાં આવ્યું હતું, ત્યારે અપાચે હાઇવનો ઉપયોગ અને વિકાસ અન્ય કંપનીઓ જેમ કે નેટફ્લિક્સ અને ફાઇનાન્સિયલ ઇન્ડસ્ટ્રી રેગ્યુલેટરી ઓથોરિટી (એફઆઈએનઆરએ) દ્વારા કરવામાં આવે છે. એમેઝોન એમેઝોન વેબ સર્વિસીસ પર એમેઝોન ઇલાસ્ટિક મેપરેડ્યુસમાં સમાવિષ્ટ અપાચે હાઇવના સોફ્ટવેર કાંટાની જાળવણી કરે છે. અપાચે હાઇવ એ હેડૂપના એચ. ડી. એફ. એસ. માં સંગ્રહિત મોટા ડેટાસેટ્સ અને એમેઝોન એસ3 ફાઇલસિસ્ટમ અને એલુક્સિઓ જેવી સુસંગત ફાઇલ સિસ્ટમોના વિશ્લેષણને ટેકો આપે છે. તે હાઇવક્યુએલ નામની એસક્યુએલ જેવી ક્વેરી લેંગ્વેજ પ્રદાન કરે છે, જેમાં રીડની યોજના હોય છે અને પ્રશ્નોને પારદર્શક રીતે મેપરેડ્યુસ, અપાચે તેઝ અને સ્પાર્ક જોબ્સમાં રૂપાંતરિત કરે છે. ત્રણેય એક્ઝેક્યુશન એન્જિન Hadoop ના સંસાધન વાટાઘાટકાર, YARN (હજુ સુધી અન્ય સંસાધન વાટાઘાટકાર) માં ચાલી શકે છે. પ્રશ્નોને વેગ આપવા માટે, તેણે અનુક્રમણિકાઓ પ્રદાન કરી હતી, પરંતુ આ સુવિધાને આવૃત્તિ 3 માં દૂર કરવામાં આવી હતી. હાઇવની અન્ય સુવિધાઓમાં નીચેનાનો સમાવેશ થાય છેઃ સાદા લખાણ, આરસીફાઇલ, એચબેઝ, ઓઆરસી અને અન્ય જેવા વિવિધ સંગ્રહ પ્રકારો. રીલેશ્નલ ડેટાબેઝ મેનેજમેન્ટ સિસ્ટમમાં મેટાડેટા સંગ્રહ, ક્વેરી એક્ઝેક્યુશન દરમિયાન સિમેન્ટીક તપાસ કરવા માટેનો સમય નોંધપાત્ર રીતે ઘટાડે છે. ડિફ્લેટ, બીડબ્લ્યુટી, સ્નેપી વગેરે સહિતના અલ્ગોરિધમ્સનો ઉપયોગ કરીને હડૂપ ઇકોસિસ્ટમમાં સંગ્રહિત કોમ્પ્રેસ્ડ ડેટા પર કામ કરવું. તારીખો, શબ્દમાળાઓ અને અન્ય ડેટા-માઇનિંગ સાધનોમાં હેરફેર કરવા માટે બિલ્ટ-ઇન યુઝર-ડિફાઈન્ડ ફંક્શન્સ (યુડીએફ). હાઇવ બિલ્ટ-ઇન ફંક્શન્સ દ્વારા સપોર્ટેડ ન હોય તેવા ઉપયોગના કેસોને સંભાળવા માટે યુડીએફ સેટને વિસ્તૃત કરવાનું સમર્થન કરે છે. એસક્યુએલ જેવી ક્વેરીઝ (હાઇવક્યુએલ), જે પરોક્ષ રીતે મેપરેડ્યુસ અથવા તેઝ અથવા સ્પાર્ક જોબ્સમાં રૂપાંતરિત થાય છે. મૂળભૂત રીતે, હાઇવ એમ્બેડેડ અપાચે ડર્બી ડેટાબેઝમાં મેટાડેટાને સંગ્રહિત કરે છે, અને અન્ય ક્લાયન્ટ/સર્વર ડેટાબેઝ જેમ કે માયએસક્યુએલનો વૈકલ્પિક રીતે ઉપયોગ કરી શકાય છે. હાઇવમાં સપોર્ટેડ પ્રથમ ચાર ફાઇલ ફોર્મેટ પ્લેન ટેક્સ્ટ, સિક્વન્સ ફાઇલ, ઓપ્ટિમાઇઝ્ડ રો કોલમનર (ઓઆરસી) ફોર્મેટ અને આરસીફાઇલ હતા. અપાચે પાર્કેટને પ્લગઇન દ્વારા આવૃત્તિઓમાં 0.10 પછી વાંચી શકાય છે અને મૂળ રૂપે 0.13 થી શરૂ કરી શકાય છે. હાઇવ આર્કિટેક્ચરના મુખ્ય ઘટકો છેઃ એનએનઃ દરેક કોષ્ટકો માટે સ્ટોર્સ મેટાડેટા જેમ કે તેમની યોજના અને સ્થાન. તેમાં પાર્ટીશન મેટાડેટા પણ સામેલ છે જે ડ્રાઇવરને ક્લસ્ટર પર વિતરિત વિવિધ ડેટા સમૂહોની પ્રગતિને ટ્રેક કરવામાં મદદ કરે છે. આ માહિતી પરંપરાગત આરડીબીએમએસ સ્વરૂપમાં સંગ્રહિત કરવામાં આવે છે. મેટાડેટા ડ્રાઇવરને ડેટાનો ટ્રેક રાખવામાં મદદ કરે છે અને તે નિર્ણાયક છે. તેથી, બેકઅપ સર્વર નિયમિતપણે ડેટાની પ્રતિકૃતિ બનાવે છે જે ડેટા ગુમાવવાના કિસ્સામાં પુનઃપ્રાપ્ત કરી શકાય છે. ડ્રાઇવરઃ નિયંત્રકની જેમ કાર્ય કરે છે જે HiveQL સ્ટેટમેન્ટ મેળવે છે. તે સત્રો બનાવીને નિવેદનના અમલની શરૂઆત કરે છે અને જીવન ચક્ર અને અમલની પ્રગતિનું નિરીક્ષણ કરે છે. તે HiveQL સ્ટેટમેન્ટના અમલ દરમિયાન પેદા થયેલ જરૂરી મેટાડેટાને સંગ્રહિત કરે છે. ડ્રાઇવર રિડ્યુસ ઓપરેશન પછી મેળવેલા ડેટા અથવા ક્વેરી પરિણામોના સંગ્રહ બિંદુ તરીકે પણ કાર્ય કરે છે. કમ્પાઇલરઃ HiveQL ક્વેરીનું સંકલન કરે છે, જે ક્વેરીને એક્ઝેક્યુશન પ્લાનમાં રૂપાંતરિત કરે છે. આ યોજનામાં ક્વેરી દ્વારા અનુવાદિત આઉટપુટ મેળવવા માટે હડૂપ મેપરડ્યુસ દ્વારા કરવા માટે જરૂરી કાર્યો અને પગલાંઓનો સમાવેશ થાય છે. કમ્પાઇલર ક્વેરીને એબ્સ્ટ્રેક્ટ સિન્ટેક્સ ટ્રી (AST) માં રૂપાંતરિત કરે છે. સુસંગતતા માટે તપાસ કર્યા પછી અને સમય ભૂલોને સંકલિત કર્યા પછી, તે એએસટીને નિર્દેશિત એસાયક્લિક ગ્રાફ (ડીએજી) માં રૂપાંતરિત કરે છે. ડી. એ. જી. ઓપરેટરોને ઇનપુટ ક્વેરી અને ડેટાના આધારે મેપરેડ્યુસ તબક્કાઓ અને કાર્યોમાં વિભાજિત કરે છે. ઓપ્ટિમાઇઝરઃ ઓપ્ટિમાઇઝ ડી. એ. જી. મેળવવા માટે એક્ઝેક્યુશન પ્લાનમાં વિવિધ પરિવર્તન કરે છે. વધુ સારા પ્રદર્શન માટે જોડાણોની પાઇપલાઇનને એક જ જોડાણમાં રૂપાંતરિત કરવા જેવા પરિવર્તનને એકસાથે એકત્રિત કરી શકાય છે. તે કાર્યોને પણ વિભાજિત કરી શકે છે, જેમ કે વધુ સારું પ્રદર્શન અને માપનીયતા પ્રદાન કરવા માટે ઓછી કામગીરી પહેલાં ડેટા પર પરિવર્તન લાગુ કરવું. જો કે, ઓપ્ટિમાઇઝેશન માટે ઉપયોગમાં લેવાતા પરિવર્તનના તર્કને અન્ય ઓપ્ટિમાઇઝરનો ઉપયોગ કરીને સુધારી શકાય છે અથવા પાઇપલાઇન કરી શકાય છે. વાયસ્માર્ટ નામનું ઓપ્ટિમાઇઝર એ અપાચે હાઇવનો એક ભાગ છે. આ સહસંબંધિત ઓપ્ટિમાઇઝર સહસંબંધિત મેપરેડ્યુસ જોબ્સને એક જ મેપરેડ્યુસ જોબમાં ભેળવે છે, જે અમલના સમયને નોંધપાત્ર રીતે ઘટાડે છે. વહીવટકર્તાઃ સંકલન અને ઓપ્ટિમાઇઝેશન પછી, વહીવટકર્તા કાર્યો કરે છે. તે ચલાવવાના કાર્યોને સુનિશ્ચિત કરવા માટે હડૂપના જોબ ટ્રેકર સાથે સંપર્ક કરે છે. જો અન્ય તમામ પૂર્વજરૂરીયાતો ચલાવવામાં આવે તો જ નિર્ભરતા સાથેનું કાર્ય અમલમાં આવે તેની ખાતરી કરીને તે કાર્યોને પાઇપલાઇનિંગની કાળજી લે છે. સી. એલ. આઈ., યુ. આઈ. અને થ્રીફ્ટ સર્વરઃ કમાન્ડ-લાઇન ઇન્ટરફેસ (સી. એલ. આઈ.) બાહ્ય વપરાશકર્તાને ક્વેરીઝ અને સૂચનાઓ સબમિટ કરીને અને પ્રક્રિયાની સ્થિતિનું નિરીક્ષણ કરીને હાઇવ સાથે વાતચીત કરવા માટે વપરાશકર્તા ઇન્ટરફેસ પ્રદાન કરે છે. થ્રિફ્ટ સર્વર બાહ્ય ગ્રાહકોને નેટવર્ક પર હાઇવ સાથે ક્રિયાપ્રતિક્રિયા કરવાની મંજૂરી આપે છે, જે જે. ડી. બી. સી. અથવા ઓ. ડી. બી. સી. પ્રોટોકોલની જેમ જ છે. જ્યારે હાઇવક્યુએલ એસક્યુએલ પર આધારિત છે, ત્યારે હાઇવક્યુએલ સંપૂર્ણ એસક્યુએલ-92 ધોરણનું કડક પાલન કરતું નથી. હાઇવક્યુએલ એસક્યુએલમાં ન હોય તેવા એક્સ્ટેન્શન્સ ઓફર કરે છે, જેમાં મલ્ટી-ટેબલ ઇન્સર્ટ્સનો સમાવેશ થાય છે, અને પસંદ કરેલ કોષ્ટકો બનાવે છે. HiveQLમાં વ્યવહારો અને વાસ્તવિક દૃશ્યો માટે સમર્થનનો અભાવ હતો, અને માત્ર મર્યાદિત સબક્વાયરી સમર્થન હતું. સંપૂર્ણ ACID કાર્યક્ષમતા સાથે દાખલ કરવા, અપડેટ કરવા અને કાઢી નાખવા માટેનો આધાર પ્રકાશન 0.14 સાથે ઉપલબ્ધ કરાવવામાં આવ્યો હતો. આંતરિક રીતે, કમ્પાઇલર હાઇવક્યુએલ નિવેદનોને મેપરેડ્યુસ, તેજ અથવા સ્પાર્ક જોબ્સના નિર્દેશિત ચક્રીય આલેખમાં અનુવાદિત કરે છે, જે અમલ માટે હડૂપને સુપરત કરવામાં આવે છે. ઉદાહરણ શબ્દ ગણતરી કાર્યક્રમ ઇનપુટમાં દરેક શબ્દ કેટલી વાર આવે છે તેની ગણતરી કરે છે. શબ્દ ગણતરીને HiveQL માં આ રીતે લખી શકાય છેઃ DROP TALBLE IXIST DOCS; CREATE TALBLE DOCS (LINE STRING); LOAD DATA INPATH 'Input _ File' OVERWRRRITE IN TALBLE DOCS; CREATE TALBLE WORD _ COUNTS OVERWRRRITE IN TALBLE DOCS; CREATE TALBLE WORD _ COUNTS OVERWRRRITE WORD, COUNT (1) કાઉન્ટ ફ્રોમ (SELECT FROM) (SELECT FROM DOCS) ટેમ્પ ગ્રૂપ બાય વર્ડ ઓર્ડર; દરેક સ્ટેટમેન્ટનું ટૂંકું સમજૂતી નીચે મુજબ છેઃ DROP TALB ડોક્સ નામનું નવું કોષ્ટક બનાવે છે, જેમાં સ્ટ્રીંગ પ્રકારની એક જ કોલમ હોય છે, જેને લાઇન કહેવાય છે. લોડ ડેટા ઇનપુટ 'ઇનપુટ _ ફાઇલ' ઓવરરાઈટ ટેબલ દસ્તાવેજોમાં દાખલ કરે છે; કોષ્ટકમાં નિર્દિષ્ટ ફાઇલ અથવા ડિરેક્ટરી (આ કિસ્સામાં "ઇનપુટ _ ફાઇલ") લોડ કરે છે. ઓવરરાઈટ સ્પષ્ટ કરે છે કે લક્ષ્ય કોષ્ટક કે જેમાં ડેટા લોડ કરવામાં આવી રહ્યો છે તે ફરીથી લખવાનું છે; અન્યથા, ડેટા ઉમેરવામાં આવશે. પસંદ કરેલ શબ્દ તરીકે કોષ્ટક શબ્દગણતરી બનાવો, ગણતરી કરો (1) જેમ જેમ તેમાંથી ગણતરી કરો (પસંદ કરેલ વિસ્ફોટ (વિભાજીત (રેખા, '\s')) જેમ દસ્તાવેજોમાંથી શબ્દ) શબ્દ દ્વારા ક્રમમાં શબ્દ દ્વારા ટેમ્પ જૂથ; ક્વેરી બે સ્તંભો સાથે શબ્દગણતરી નામનું કોષ્ટક બનાવે છેઃ શબ્દ અને ગણતરી. આ ક્વેરી આંતરિક ક્વેરીમાંથી તેનું ઇનપુટ ખેંચે છે. આ ક્વેરી ઇનપુટ શબ્દોને કામચલાઉ કોષ્ટકની વિવિધ પંક્તિઓમાં વિભાજિત કરવા માટે કામ કરે છે જેને ટેમ્પ તરીકે ઉપનામ આપવામાં આવ્યું છે. તેમની ચાવીઓના આધારે પરિણામોનું જૂથ બનાવે છે. આ શબ્દ સ્તંભના દરેક શબ્દ માટે ઘટનાઓની સંખ્યા ધરાવતી ગણતરી સ્તંભમાં પરિણમે છે. શબ્દોને મૂળાક્ષરમાં ગોઠવે છે. પરંપરાગત ડેટાબેઝ સાથે સરખામણી હાઇવની સંગ્રહ અને પૂછપરછની કામગીરી પરંપરાગત ડેટાબેઝ જેવી જ છે. જ્યારે હાઇવ એ એસક્યુએલ બોલી છે, ત્યારે રીલેશ્નલ ડેટાબેસેસની તુલનામાં હાઇવની રચના અને કામગીરીમાં ઘણા તફાવતો છે. તફાવતો મુખ્યત્વે એટલા માટે છે કારણ કે મધપૂડો હડૂપ ઇકોસિસ્ટમની ટોચ પર બાંધવામાં આવ્યો છે, અને તેણે હડૂપ અને મેપરેડ્યુસના પ્રતિબંધોનું પાલન કરવું પડે છે. પરંપરાગત ડેટાબેઝમાં કોષ્ટક પર યોજના લાગુ કરવામાં આવે છે. આવા પરંપરાગત ડેટાબેઝમાં, કોષ્ટક સામાન્ય રીતે જ્યારે કોષ્ટકમાં ડેટા લોડ કરવામાં આવે ત્યારે યોજનાને લાગુ કરે છે. આ ડેટાબેઝને ખાતરી કરવા માટે સક્ષમ કરે છે કે દાખલ કરેલ ડેટા કોષ્ટકની વ્યાખ્યા દ્વારા નિર્દિષ્ટ કોષ્ટકની રજૂઆતને અનુસરે છે. આ ડિઝાઇનને સ્કિમા ઓન રાઈટ કહેવામાં આવે છે. તેની સરખામણીમાં, હાઇવ લેખન પર કોષ્ટક યોજના સામે ડેટાની ચકાસણી કરતું નથી. તેના બદલે, જ્યારે ડેટા વાંચવામાં આવે છે ત્યારે તે પછીથી રન ટાઇમ તપાસ કરે છે. આ મોડેલને સ્કિમા ઓન રીડ કહેવામાં આવે છે. આ બંને અભિગમોના પોતાના ફાયદા અને ગેરફાયદા છે. લોડ સમય દરમિયાન ટેબલ સ્કીમા સામે ડેટા તપાસવાથી વધારાનું ઓવરહેડ ઉમેરે છે, તેથી જ પરંપરાગત ડેટાબેઝ ડેટા લોડ કરવામાં વધુ સમય લે છે. ડેટા ભ્રષ્ટ ન થાય તેની ખાતરી કરવા માટે લોડ સમયે ડેટા સામે ગુણવત્તા તપાસ કરવામાં આવે છે. ભ્રષ્ટ ડેટાની વહેલી તપાસ એ અપવાદનું વહેલું સંચાલન સુનિશ્ચિત કરે છે. કોષ્ટકોને ડેટા લોડ પછી/દરમિયાન યોજના સાથે મેળ ખાવાની ફરજ પાડવામાં આવે છે, તેથી તે વધુ સારી ક્વેરી સમય કામગીરી ધરાવે છે. બીજી બાજુ, હાઇવ, કોઈપણ યોજના તપાસ વિના ગતિશીલ રીતે ડેટા લોડ કરી શકે છે, જે ઝડપી પ્રારંભિક ભારને સુનિશ્ચિત કરે છે, પરંતુ ક્વેરી સમયે તુલનાત્મક રીતે ધીમી કામગીરીની ખામી સાથે. જ્યારે લોડ સમયે યોજના ઉપલબ્ધ ન હોય ત્યારે મધપૂડાનો ફાયદો થાય છે, પરંતુ તેના બદલે તે પછીથી ગતિશીલ રીતે ઉત્પન્ન થાય છે. પરંપરાગત ડેટાબેઝમાં વ્યવહારો એ મુખ્ય કામગીરી છે. કોઈપણ લાક્ષણિક આરડીબીએમએસની જેમ, હાઇવ વ્યવહારોના તમામ ચાર ગુણધર્મો (એસીઆઈડી) ને ટેકો આપે છેઃ અણુતા, સુસંગતતા, અલગતા અને ટકાઉપણું. હાઇવમાં વ્યવહારો હાઇવ 0.13 માં રજૂ કરવામાં આવ્યા હતા પરંતુ તે માત્ર પાર્ટીશન સ્તર સુધી મર્યાદિત હતા. હાઇવ 0.14 ના તાજેતરના સંસ્કરણમાં સંપૂર્ણ ACID ગુણધર્મોને ટેકો આપવા માટે આ કાર્યો સંપૂર્ણપણે ઉમેરવામાં આવ્યા હતા. હાઇવ 0.14 અને બાદમાં INSERT, DELETE અને UPDATE જેવા વિવિધ પંક્તિ સ્તરના વ્યવહારો પ્રદાન કરે છે. INSERT, UPDATE અને DELETE વ્યવહારોને સક્ષમ કરવા માટે hive.support.concurrency, hive.enforce.bucketing, અને hive.exec.dynamic.partition.mode જેવા રૂપરેખાંકન ગુણધર્મો માટે યોગ્ય મૂલ્યો સુયોજિત કરવાની જરૂર છે. સુરક્ષા હાઇવ v0.7.0 એ Hadoop સુરક્ષા સાથે સંકલન ઉમેર્યું. Hadoop એ સુરક્ષા પૂરી પાડવા માટે કર્બેરોસ અધિકૃત સમર્થનનો ઉપયોગ કરવાનું શરૂ કર્યું. કેર્બેરોસ ક્લાયન્ટ અને સર્વર વચ્ચે પરસ્પર પ્રમાણીકરણ માટે પરવાનગી આપે છે. આ પ્રણાલીમાં ટિકિટ માટેની ગ્રાહકની વિનંતીને વિનંતી સાથે પસાર કરવામાં આવે છે. Hadoop ની અગાઉની આવૃત્તિઓમાં ઘણી સમસ્યાઓ હતી જેમ કે વપરાશકર્તાઓ hadoop.job.ugi પ્રોપર્ટી સેટ કરીને તેમના વપરાશકર્તાનામને છેતરવામાં સક્ષમ હતા અને એ જ વપરાશકર્તાઃ Hadoop અથવા મેપ્રેડ હેઠળ ચલાવવામાં આવતી મેપરેડ્યુસ કામગીરી પણ હતી. હાઈવ v0.7.0 ના Hadoop સુરક્ષા સાથે એકીકરણ સાથે, આ મુદ્દાઓ મોટા ભાગે ઠીક કરવામાં આવ્યા છે. ટાસ્કટ્રેકરની નોકરીઓ તે વપરાશકર્તા દ્વારા ચલાવવામાં આવે છે જેણે તેને શરૂ કરી હતી અને વપરાશકર્તાનામને હવે hadoop.job.ugi પ્રોપર્ટી સેટ કરીને છેતરવામાં નહીં આવે. હાઇવમાં નવી બનાવેલી ફાઇલો માટેની પરવાનગીઓ HDFS દ્વારા નક્કી કરવામાં આવે છે. Hadoop વિતરિત ફાઇલ સિસ્ટમ અધિકૃતતા મોડેલ ત્રણ ઘટકોનો ઉપયોગ કરે છેઃ વપરાશકર્તા, જૂથ અને અન્ય ત્રણ પરવાનગીઓ સાથેઃ વાંચો, લખો અને અમલ કરો. નવી બનાવેલી ફાઇલો માટેની મૂળભૂત પરવાનગીઓ હાઇવ રૂપરેખાંકન ચલ hive.files.umask.value માટે અનમાસ્ક મૂલ્યને બદલીને સેટ કરી શકાય છે. આ પણ જુઓ અપાચે પિગ સ્કૂપ અપાચે ઇમ્પાલા અપાચે ડ્રીલ અપાચે ફ્લૂમ અપાચે એચબેઝ ટ્રિનો (એસક્યુએલ ક્વેરી એન્જિન) સંદર્ભો બાહ્ય કડીઓ 2015 સોફ્ટવેર હાઇવ ક્લાઉડ કમ્પ્યુટિંગ ફેસબુક સોફ્ટવેર ફ્રી સોફ્ટવેર પ્રોગ્રામ્ડ ઇન જાવા (પ્રોગ્રામિંગ લેંગ્વેજ) ફ્રી સિસ્ટમ સોફ્ટવેર હડૂપ સોફ્ટવેર અપાચે લાઇસન્સનો ઉપયોગ કરીને