LOAD DATA

S’applique à :coche marquée oui Databricks Runtime

Charge les données dans une table Hive SerDe à partir du répertoire ou du fichier spécifié par l’utilisateur. Si un répertoire est spécifié, tous les fichiers du répertoire sont chargés. Si un fichier est spécifié, seul le fichier unique est chargé. En outre, l'instruction LOAD DATA prend une spécification de partition facultative. Lorsqu’une partition est spécifiée, les fichiers de données (lorsque la source d’entrée est un répertoire) ou le fichier unique (lorsque la source d’entrée est un fichier) sont chargés dans la partition de la table cible.

Si la table est mise en cache, la commande efface les données mises en cache de la table et tous ses dépendants qui y font référence. Le cache est rempli de manière différée lors de l’accès suivant à la table ou aux dépendants.

Syntaxe

LOAD DATA [ LOCAL ] INPATH path [ OVERWRITE ] INTO TABLE table_name [ PARTITION clause ]

Paramètres

  • path

    Chemin d'accès au système de fichiers. Il peut s’agir d’chemin d’accès absolu ou relatif.

  • table_name

    Identifie la table à insérer. Le nom ne doit pas inclure une spécification temporelle. Si la table est introuvable, Azure Databricks génère une erreur TABLE_OR_VIEW_NOT_FOUND.

  • Clause PARTITION

    Paramètre facultatif qui spécifie une partition cible pour l’insertion. Vous pouvez également spécifier la partition partiellement.

  • LOCAL

    S’il est spécifié, le INPATH est résolu par rapport au système de fichiers local, au lieu du système de fichiers par défaut, qui est généralement un stockage distribué.

  • OVERWRITE

    Par défaut, les nouvelles données sont ajoutées à la table. Si OVERWRITE est utilisé, la table est remplacée par de nouvelles données.

Exemples

-- Example without partition specification.
-- Assuming the students table has already been created and populated.
> SELECT * FROM students;
      name                address student_id
 --------- ---------------------- ----------
 Amy Smith 123 Park Ave, San Jose     111111

> CREATE TABLE test_load (name VARCHAR(64), address VARCHAR(64), student_id INT) USING HIVE;

-- Assuming the students table is in '/user/hive/warehouse/'
> LOAD DATA LOCAL INPATH '/user/hive/warehouse/students' OVERWRITE INTO TABLE test_load;

> SELECT * FROM test_load;
      name                address student_id
 --------- ---------------------- ----------
 Amy Smith 123 Park Ave, San Jose     111111

-- Example with partition specification.
> CREATE TABLE test_partition (c1 INT, c2 INT, c3 INT) PARTITIONED BY (c2, c3);

> INSERT INTO test_partition PARTITION (c2 = 2, c3 = 3) VALUES (1);

> INSERT INTO test_partition PARTITION (c2 = 5, c3 = 6) VALUES (4);

> INSERT INTO test_partition PARTITION (c2 = 8, c3 = 9) VALUES (7);

> SELECT * FROM test_partition;
  c1  c2  c3
 --- --- ---
   1   2   3
   4   5   6
   7   8   9

> CREATE TABLE test_load_partition (c1 INT, c2 INT, c3 INT) USING HIVE PARTITIONED BY (c2, c3);

-- Assuming the test_partition table is in '/user/hive/warehouse/'
> LOAD DATA LOCAL INPATH '/user/hive/warehouse/test_partition/c2=2/c3=3'
      OVERWRITE INTO TABLE test_load_partition PARTITION (c2=2, c3=3);

> SELECT * FROM test_load_partition;
  c1  c2  c3
 --- --- ---
   1   2   3