INSERT OVERWRITE DIRECTORY

Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime

Menimpa data yang ada di direktori dengan nilai baru menggunakan format file Spark tertentu. Anda menentukan baris yang disisipkan menurut ekspresi nilai atau hasil kueri.

Sintaks

INSERT OVERWRITE [ LOCAL ] DIRECTORY [ directory_path ]
    USING file_format [ OPTIONS ( { key [ = ] val } [ , ... ] ) ]
    { VALUES ( { value | NULL } [ , ... ] ) [ , ( ... ) ] | query }

Parameter

  • directory_path

    Direktori target. Anda juga dapat menentukannya dalam OPTIONS menggunakan path. Kata kunci LOCAL digunakan untuk menentukan bahwa direktori ada di sistem file lokal.

  • file_format

    Format file yang digunakan untuk penyisipan. Opsi yang valid adalah TEXT, CSV, JSON, JDBC, PARQUET, ORC, HIVE, LIBSVMatau nama kelas yang sepenuhnya memenuhi syarat penerapan kustom dari org.apache.spark.sql.execution.datasources.FileFormat.

  • OPTIONS ( { key [ = ] val } [ , ... ] )

    Menentukan satu atau opsi lebih untuk penulisan format file. Kunci dan nilai yang valid bergantung pada yang file_format Anda pilih. Untuk opsi yang didukung oleh setiap format, lihat Opsi format data. Anda juga dapat mengatur path kunci untuk menentukan direktori target.

  • VALUES ( { nilai | NULL } [ , ... ] ) [ , ( … ) ]

    Nilai yang akan disisipkan. Anda dapat menyisipkan nilai yang ditentukan secara eksplisit atau NULL. Gunakan koma untuk memisahkan setiap nilai dalam klausa. Untuk menyisipkan beberapa baris, tentukan lebih dari satu set nilai.

  • query

    Kueri yang menghasilkan baris untuk disisipkan. Gunakan salah satu format berikut:

    • Pernyataan SELECT
    • Pernyataan TABLE
    • Pernyataan FROM

Contoh

INSERT OVERWRITE DIRECTORY '/Volumes/my_catalog/my_schema/my_volume/'
    USING parquet
    OPTIONS (col1 1, col2 2, col3 'test')
    SELECT * FROM test_table;

INSERT OVERWRITE DIRECTORY
    USING parquet
    OPTIONS ('path' '/Volumes/my_catalog/my_schema/my_volume/', col1 1, col2 2, col3 'test')
    SELECT * FROM test_table;