Använda Apache Zeppelin för att köra Apache Phoenix-frågor över Apache HBase i Azure HDInsight
Apache Phoenix är ett öppen källkod, massivt parallellt relationsdatabaslager som bygger på HBase. Med Phoenix kan du använda SQL som frågor via HBase. Phoenix använder JDBC-drivrutiner under för att du ska kunna skapa, ta bort, ändra SQL-tabeller, index, vyer och sekvenser. Du kan också använda Phoenix för att uppdatera rader individuellt och i grupp. Phoenix använder en ursprunglig NOSQL-kompilering i stället för att använda MapReduce för att kompilera frågor, vilket gör det möjligt att skapa program med låg latens ovanpå HBase.
Apache Zeppelin är en öppen källkod webbaserad notebook-fil som gör att du kan skapa datadrivna samarbetsdokument med hjälp av interaktiva dataanalyser och språk som SQL och Scala. Det hjälper datautvecklare och dataforskare att utveckla, organisera, köra och dela kod för datamanipulering. Det gör att du kan visualisera resultat utan att referera till kommandoraden eller behöver klusterinformationen.
HDInsight-användare kan använda Apache Zeppelin för att fråga Phoenix-tabeller. Apache Zeppelin är integrerat med HDInsight-kluster och det finns inga ytterligare steg för att använda det. Skapa en Zeppelin Notebook med JDBC-tolk och börja skriva dina Phoenix SQL-frågor
Förutsättningar
Ett Apache HBase-kluster i HDInsight. Se Kom igång med Apache HBase.
Skapa en Apache Zeppelin-anteckning
Ersätt
CLUSTERNAME
med namnet på klustret i följande URLhttps://CLUSTERNAME.azurehdinsight.net/zeppelin
. Ange sedan URL:en i en webbläsare. Ange användarnamn och lösenord för klusterinloggning.På sidan Zeppelin väljer du Skapa ny anteckning.
I dialogrutan Skapa ny anteckning skriver eller väljer du följande värden:
- Anteckningsnamn: Ange ett namn för anteckningen.
- Standardtolk: Välj jdbc i listrutan.
Välj sedan Skapa anteckning.
Kontrollera att notebook-huvudet visar en ansluten status. Den betecknas med en grön punkt i det övre högra hörnet.
Skapa en HBase-tabell. Ange följande kommando och tryck sedan på Skift + Retur:
%jdbc(phoenix) CREATE TABLE Company ( company_id INTEGER PRIMARY KEY, name VARCHAR(225) );
Instruktionen %jdbc(phoenix) i frontlinjen instruerar anteckningsboken att använda Phoenix JDBC-tolken.
Visa skapade tabeller.
%jdbc(phoenix) SELECT DISTINCT table_name FROM SYSTEM.CATALOG WHERE table_schem is null or table_schem <> 'SYSTEM';
Infoga värden i tabellen.
%jdbc(phoenix) UPSERT INTO Company VALUES(1, 'Microsoft'); UPSERT INTO Company (name, company_id) VALUES('Apache', 2);
Fråga tabellen.
%jdbc(phoenix) SELECT * FROM Company;
Ta bort en post.
%jdbc(phoenix) DELETE FROM Company WHERE COMPANY_ID=1;
Släpp tabellen.
%jdbc(phoenix) DROP TABLE Company;