Programmēšana

10 veidi, kā vaicāt Hadoop ar SQL

SQL: vecs un bojāts. Hadoops: jauns karstums. Tā ir parastā gudrība, taču milzīgais projektu skaits, kas Hadoop datu krātuvēs nodrošina ērtu SQL priekšgalu, rāda, ka ir reāli vajadzīgi produkti, kuros SQL vaicājumi tiek veikti pret datiem, kas dzīvo Hadoop iekšienē, nevis tikai Hadoop vietējo ziņojumu izmantošana vai Hadoop datu eksportēšana parasto datu bāzi.

MapR ražo pats savu Hadoop izplatījumu, un jaunākais izdevums (4.0.1) to apvieno ar četriem atšķirīgiem dzinējiem vaicājumiem Hadoop flakonu SQL. Šīs četras ir nozīmīgas Hadoop SQL vaicājumu sistēmas, taču tur ir daudz vairāk SQL-for-Hadoop tehnoloģiju, un tās ir veidotas, lai apmierinātu dažādas vajadzības un izmantošanas gadījumus, sākot no ezotērikas līdz universālajam.

Pirmkārt, četri SQL dzinēji, kas nāk ar MapR:

Apache strops: Šis ir sākotnējais SQL-on-Hadoop risinājums, kas mēģina atdarināt MySQL uzvedību, sintaksi un saskarni (-es), ieskaitot komandrindas klientu. Tas ietver arī Java API un JDBC draiverus tiem, kuriem jau ir ieguldījums Java lietojumprogrammās, kuras veic vaicājumus MySQL stilā. Neskatoties uz relatīvo vienkāršību un ērto lietošanu, Hive ir bijis lēns un tikai lasāms, un tas ir izraisījis vairākas iniciatīvas, lai to uzlabotu.

Stinger: Hortonworks, kas ir sava Hadoop izplatītāja ražotājs, uzsāka Stinger projektu kā veidu, kā veicināt Apache Hive attīstību un uzlabot tā veiktspēju. Projekta jaunākajam iemiesojumam Stinger.next kā viens no dizaina mērķiem ir "sekundes vaicājumu atbildes laiks" kopā ar atbalstu darījumu uzvedībai (ieliktņiem, atjauninājumiem un dzēšanai). Šīs izmaiņas būs debitējamas nākamo 18 mēnešu laikā, ievērojot citas funkcijas, piemēram, SQL analytics.

Apache urbis: Google Dremel (pazīstams arī kā BigQuery) atvērtā koda ieviešana Drill tika izstrādāta, lai veiktu vaicājumus ar zemu latentumu vairāku veidu datu krātuvēs vienlaikus ar dažādām vaicājumu saskarnēm (piemēram, Hadoop un NoSQL) un būtu ļoti pielāgojama. Drill ir paredzēts arī vaicājumu izpildei plašā izpildes laika diapazonā, kas ilgst tikai dažas milisekundes, līdz darbojas minūtes pēc kārtas. MapR apgalvo, ka Drill ir uz nākotni vērsts, nevis tikai savietojams ar atpakaļejošu laiku, un tas ir viens no iemesliem, kāpēc tā ir izvēlējusies ieguldīt savus attīstības centienus aiz šī projekta.

Spark SQL: Apache Spark projekts ir paredzēts Hadoop datu reāllaikā, atmiņā, paralēli apstrādei. Spark SQL balstās uz tā, lai ļautu SQL vaicājumus rakstīt pret datiem. Labāks veids, kā to iedomāties, varētu būt Apache Hive priekš Apache Spark, jo tajā tiek atkārtoti izmantoti galvenie Hive tehnoloģiju gabali. Šajā ziņā tas ir papildinājums tiem, kas jau strādā ar Spark. (Šajā projektā ir iekļauts agrāks projekts Shark.)

Papildus šiem četriem izceļas vēl seši:

Apache Phoenix: Tās izstrādātāji to sauc par "SQL skin for HBase" - veidu, kā vaicāt HBase ar SQL līdzīgām komandām, izmantojot iegultu JDBC draiveri, kas izveidots augstas veiktspējas un lasīšanas / rakstīšanas operācijām. Uzskatiet to par gandrīz neuztraucamu tiem, kas izmanto HBase, pateicoties tam, ka tas ir atvērts avots, agresīvi attīstīts un aprīkots ar noderīgām funkcijām, piemēram, lielapjoma datu ielādi.

Cloudera Impala: Dažos veidos Impala ir vēl viena Dremel / Apache Drill ieviešana, kas paredzēta Hive paplašināšanai, lai izietie Hive lietotāji varētu to maksimāli izmantot. Datus, kas saglabāti HDFS vai HBase, var pieprasīt, un SQL sintakse, paredzams, ir tāda pati kā Apache Hive. Bet Impala galvenā atšķirība no Drill ir tā, ka tas nav domāts kā avota agnostiķis; tā vaicā tikai Hadoop.

HAWQ galvenajam HD: Pivotal nodrošina savu Hadoop izplatīšanu (Pivotal HD), un HAWQ ir patentēts komponents SQL vaicājumu veikšanai HDFS. Līdz ar to tas ir tikai galvenā produkta produkts, kaut arī galvenais ir par paralēlo SQL apstrādi un augsto atbilstību SQL standartiem.

Presto: Šo atvērtā pirmkoda vaicājumu dzinēju, ko uzbūvējuši Facebook inženieri un kas šajā uzņēmumā izmantots iekšēji šajā uzņēmumā, tas atgādina Apache Drill, jo tas ir avota agnostiķis. Tas var vaicāt gan Hive, gan Cassandra, izmantojot ANSI SQL komandas, un izstrādātāji var paplašināt sistēmu, rakstot tai savienotājus, izmantojot tā pakalpojumu sniedzēja saskarni. Dažas datu ievietošanas funkcijas tiek atbalstītas, taču tās joprojām ir ļoti vienkāršas: atjauninājumus nevar veikt, tikai ievietot.

Oracle Big Data SQL: Tas bija tikai laika jautājums, kad Oracle izlaida savu Hadoop SQL vaicājumu priekšgalu. Tāpat kā Drill, tā var vaicāt gan Hadoop, gan citos NoSQL veikalos. Bet atšķirībā no Drill tas ir paša Oracle produkts, un tas integrējas tikai ar Oracle Database 12c un jaunākām versijām, kas nopietni ierobežo tā tirgu.

IBM BigSQL: Bija tikai laika jautājums, kad IBM darīja to pašu, lai gan 2013. gada sākumā tā paziņoja par pirmo BigSQL tehnoloģiju priekšskatījumu. Diemžēl, tāpat kā Oracle piedāvājumā, tas ir saistīts ar konkrētu IBM produktu aizmugurē - šajā gadījumā , IBM Hadoop, InfoSphere BigInsights. Tas nozīmē, ka priekšējā daļa var būt standarta JDBC / ODBC klients, un vaicājumi var ietvert datus no IBM DB2, Teradata vai PureData Systems Analytics gadījumiem.

$config[zx-auto] not found$config[zx-overlay] not found