Quel moteur SQL sur Hadoop?
Samuel Marks
Quel moteur SQL sur Hadoop?
Depuis la sortie de Hadoop , il y a eu diverses tentatives commerciales et / ou open source pour exposer une certaine compatibilité avec SQL .
J’en cherche un qui est bon pour les requêtes à faible latence et prend en charge le CRUD le plus courant, y compris [les bases!] Le long de ces lignes: CREATE TABLE
, INSERT INTO
, SELECT * FROM
, UPDATE Table SET C1=2 WHERE
, DELETE FROM
et DROP TABLE
.
Je vais les utiliser à partir de Python, mais il semble qu’il y ait un wrapper Python JDBC . De plus, il doit être évolutif pour les grandes et petites données (à partir d’un « cluster » à nœud unique).
Voici ce que j’ai trouvé jusqu’à présent:
- Apache Hive (de type SQL, avec SQL interactif grâce à l’initiative Stinger)
- Apache Drill (prise en charge ANSI SQL)
- Apache Spark ( Spark SQL , requêtes uniquement, ajouter des données via Hive, RDD ou Paraquet )
- Apache Phoenix (construit sur Apache HBase , manque de prise en charge complète des transactions , opérateurs relationnels et certaines fonctions intégrées)
- Presto de Facebook (peut interroger Hive, Cassandra , les bases de données relationnelles, etc. Ne semble pas être conçu pour des réponses à faible latence sur de petits clusters ou prendre en charge les opérations de
UPDATE
. Il est optimisé pour l’entreposage de données ou l’analyse ¹ ) - SQL-Hadoop via MapR Community Edition (semble être un package de Hive, HP Vertica , SparkSQL, Drill et un wrapper ODBC natif )
- Apache Kylin d’Ebay (fournit une interface SQL et une analyse multidimensionnelle [ OLAP ], « … propose ANSI SQL sur Hadoop et prend en charge la plupart des fonctions de requête SQL ANSI ». Cela dépend de HDFS, MapReduce, Hive et HBase; et semble ciblé sur très des ensembles de données volumineux mais conservent une faible latence de requête)
- Apache Tajo (conformité à la norme ANSI / ISO SQL avec prise en charge du pilote JDBC [ benchmarks contre Hive et Impala ])
- Lingual ² en cascade (« Lingual fournit des pilotes JDBC, un shell de commande SQL et un gestionnaire de catalogue pour publier des fichiers [ou toute ressource] sous forme de schémas et de tables. »)
Lequel – à partir de cette liste ou ailleurs – recommanderiez-vous, et pourquoi?
Réponses
Hadoop?, moteur, Quel, SQL, sur