10
votes

Sqoop peut-il exporter créer une nouvelle table?

Il est possible d'exporter des données de HDFS sur la table des RDBMs à l'aide de SQOP. Mais il semble que nous ayons besoin d'avoir une table existante.

y a-t-il un paramètre pour dire à SQOOOP faire la chose "Créer une table" et exporter des données sur cette table nouvellement citée?

Si oui, cela va-t-il fonctionner avec Oracle?


0 commentaires

3 Réponses :


10
votes

J'ai bien peur que SQOP ne supporte pas la création de tables dans la SGBDM pour le moment. SQOP utilise la table dans les RDBM pour obtenir des métadonnées (nombre de colonnes et types de données), donc je ne suis donc pas sûr où SQOP pourrait obtenir les métadonnées pour créer la table pour vous.


0 commentaires

3
votes

Vous pouvez réellement exécuter des requêtes SQL arbitraires et DDL via SQOPOP Eval, au moins avec MySQL et MSSQL. Je m'attendrais à ce que cela fonctionne avec Oracle aussi. Exemple MSSQL:

sqoop eval --connect 'jdbc:sqlserver://<DB SERVER>:<DB PORT>;
database=<DB NAME>'  --query "CREATE TABLE..."
--username <USERNAME> -P


1 commentaires

Le guide de l'utilisateur SQOOOOP mentionne que EVAL ne doit pas être utilisé dans les flux de travail de production - "L'outil EVAL est fourni à des fins d'évaluation uniquement. Vous pouvez l'utiliser pour vérifier la connexion de la base de données à partir de la SQOP ou tester des requêtes simples. Ce n'est pas supposé être utilisé dans flux de production de production. "



0
votes

J'ai remarqué que vous utilisez l'oracle aussi. Certains connecteurs SQOP spécifiques à SQOOOP fournisseur soutiennent que, y compris Oracle. Le mode Oracle Direct Connect de SQOP a la possibilité de faire cela

https://sqoop.apache.org/docs/1.4 .6 / sqoopuserguide.html # _create_oracle_tables

24.8.5.4. Créer des tables Oracle

-doraoop.template.table = templatetablename

crée oracletablename en répliquant la structure et les types de données de Templatetabloname. Templatetablename est une table qui existe à Oracle avant d'exécuter la commande SQOOOOP.

ps. Vous devrez utiliser une option d'exportation SQOPOOOP pour activer SQOOOP Mode direct = 'Connecteur de données pour Oracle et Hadoop' (Aka Oraoop - Nom antérieur).


0 commentaires