L'intégration d'Impala à Kudu vous permet d'accéder aux tables de données stockées dans Kudu. Cette rubrique décrit la procédure d'intégration.
Prérequis
Vous avez créé un cluster et sélectionné les services Impala et Kudu. Pour plus d'informations, consultez la section Créer un cluster.
Procédure
Console
-
Sur la page Configure du service Impala, ajoutez les éléments de configuration suivants. Pour plus d'informations, consultez la section Gérer les éléments de configuration.
Sur la page Configure du service Impala, cliquez sur l'onglet impalad.flgs.
-
Dans l'onglet impalad.flgs, cliquez sur Add Configuration Item. Ajoutez un paramètre nommé kudu_master_hosts avec la valeur master-1-1:7051.
RemarqueLe paramètre kudu_master_hosts spécifie les nœuds maîtres et les numéros de port du cluster Kudu auquel Impala se connecte. Si plusieurs nœuds maîtres sont présents, séparez-les par une virgule (,). Par exemple : master-1-1:7051,master-1-2:7051,master-1-3:7051.
Dans l'onglet catalogd.flgs, cliquez sur Add Configuration Item. Ajoutez un paramètre nommé kudu_master_hosts avec la valeur master-1-1:7051.
-
Facultatif : Connectez-vous au cluster pour vérifier l'intégration.
Connectez-vous à Impala. Pour plus d'informations, consultez la section Outil shell Impala.
-
Exécutez la commande suivante pour créer une table :
create table my_first_table ( id bigint, name string, primary key(id) ) partition by hash partitions 16 stored as kudu tblproperties( 'kudu.num_tablet_replicas' = '1');Le message
Table has been created.indique que la table a bien été créée.
CLI
Connectez-vous à Impala. Pour plus d'informations, consultez la section Outil shell Impala.
-
Exécutez la commande suivante pour créer une table.
Utilisez la propriété
kudu.master_addressespour spécifier le cluster Kudu, comme illustré dans l'exemple suivant :create table my_first_table ( id bigint, name string, primary key(id) ) partition by hash partitions 16 stored as kudu tblproperties( 'kudu.master_addresses' = 'master-1-1:7051', 'kudu.num_tablet_replicas' = '1');RemarqueDescriptions des paramètres :
my_first_table: nom de la table. Vous pouvez spécifier un nom personnalisé.kudu.master_addresses: spécifie les nœuds maîtres. Si le cluster comporte plusieurs nœuds maîtres, séparez leurs adresses par des virgules (,). Par exemple :master-1-1:7051,master-1-2:7051,master-1-3:7051. Pour un cluster Hadoop, définissez la valeur suremr-header-1.
Le message
Table has been created.indique que la table a bien été créée. -
Facultatif : Exécutez la commande suivante pour insérer des données dans la table :
insert into my_first_table values(1,"ss"); -
Facultatif : Exécutez la commande suivante pour interroger les données de la table :
select * from my_first_table;La commande renvoie la sortie suivante :
+----+------+ | id | name | +----+------+ | 1 | ss | +----+------+RemarquePour supprimer la table, exécutez
drop table my_first_table;.