Video: Ruby on Rails by Leila Hofer 2024
Ett antal företag investerar tungt för att driva öppna källprojekt och egna lösningar för SQL-åtkomst till Hadoop-data. När du hör termen SQL-åtkomst, borde du veta att du lita på några grundläggande antaganden:
-
Språkstandarder: Den viktigaste standarden innebär självklart själva språket. Många "SQL-liknande" lösningar finns, men de brukar inte mäta på vissa grundläggande sätt - sätt som skulle förhindra att även typiska SQL-satser fungerar.
Det amerikanska nationella standardsinstitutet (ANSI) etablerade SQL som en officiell teknisk standard och IT-industrin accepterar ANSI SQL-92-standarden som representerande referensvärdet för grundläggande SQL-överensstämmelse. ANSI har under årens lopp släppt ett antal progressivt mer avancerade versioner, eftersom databassteknik har utvecklats.
-
Drivrutiner: En annan viktig komponent i en SQL-åtkomstlösning är -drivrutinen - gränssnittet för applikationer för att ansluta och utbyta data med datalagret. Utan en drivrutin finns det inget SQL-gränssnitt för några klientapplikationer eller verktyg för att ansluta till för inlämning av SQL-frågor.
Som sådan måste alla SQL-lösningar på Hadoop åtminstone ha JDBC- och ODBC-drivrutiner, eftersom de är de vanligaste databasgränssnittsteknikerna.
-
Tillgång till realtid: Till och med Hadoop 2, MapReduce-baserad körning var det enda tillgängliga alternativet för analys av data lagrad i Hadoop. För relativt enkla frågor som involverade en fullständig genomsökning av data i ett bord var Hadoop ganska snabb jämfört med en traditionell relationsdatabas.
Tänk på att detta är ett användarfall för batchanalys, där fast kan innebära timmar, beroende på hur mycket data som är inblandade. Men när det gällde mer komplexa frågor, med deluppsättningar av data, gjorde Hadoop inte bra. MapReduce är ett batchbehandlingsramverk, vilket ger hög prestanda för realtidsfrågor innan Hadoop 2 var arkitektoniskt omöjligt.
En tidig motivator för YARN, det nya resurshanterings- och schemaläggningssystemet på blocket, var detta behov av att stödja andra bearbetningsramar för att möjliggöra realtidsarbete, såsom interaktiva SQL-frågor. En riktig SQL-lösning borde inte lämna människor som väntar på rimliga frågor.
-
Ömsesidig data: En vanlig fråga i många diskussioner kring SQL-stöd på Hadoop är "Kan vi använda, och uttalanden som vi skulle kunna göra i en typisk relationsdatabas? "För nu är svaret nej, vilket återspeglar HDFS natur - det är inriktat på stora, oföränderliga filer.Tekniker som Hive erbjuder skrivskyddad åtkomst till dessa filer. Oavsett, det är pågående arbete i Hive Apache-projektet.