This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/arrow-datafusion.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new ad938fd082 Publish built docs triggered by 
561e0d7e87825aba224bf2eb9c3b8b5e1b725597
ad938fd082 is described below

commit ad938fd082c94c0fde6e3e522c218a13cd03be84
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
AuthorDate: Tue Sep 12 13:58:09 2023 +0000

    Publish built docs triggered by 561e0d7e87825aba224bf2eb9c3b8b5e1b725597
---
 _sources/user-guide/sql/ddl.md.txt                 |   4 +-
 _sources/user-guide/sql/dml.md.txt                 |  12 +-
 _sources/user-guide/sql/index.rst.txt              |   1 +
 _sources/user-guide/sql/write_options.md.txt       | 131 ++++
 contributor-guide/architecture.html                |   5 +
 contributor-guide/communication.html               |   5 +
 contributor-guide/index.html                       |   5 +
 contributor-guide/quarterly_roadmap.html           |   5 +
 contributor-guide/roadmap.html                     |   5 +
 contributor-guide/specification/index.html         |   5 +
 contributor-guide/specification/invariants.html    |   5 +
 .../specification/output-field-name-semantic.html  |   5 +
 genindex.html                                      |   5 +
 index.html                                         |   5 +
 library-user-guide/adding-udfs.html                |   5 +
 library-user-guide/building-logical-plans.html     |   5 +
 library-user-guide/catalogs.html                   |   5 +
 library-user-guide/custom-table-providers.html     |   5 +
 library-user-guide/extending-operators.html        |   5 +
 library-user-guide/index.html                      |   5 +
 library-user-guide/using-the-dataframe-api.html    |   5 +
 library-user-guide/using-the-sql-api.html          |   5 +
 library-user-guide/working-with-exprs.html         |   5 +
 objects.inv                                        | Bin 1092 -> 1109 bytes
 search.html                                        |   5 +
 searchindex.js                                     |   2 +-
 user-guide/cli.html                                |   5 +
 user-guide/configs.html                            |  11 +-
 user-guide/dataframe.html                          |   5 +
 user-guide/example-usage.html                      |   5 +
 user-guide/expressions.html                        |   5 +
 user-guide/faq.html                                |   5 +
 user-guide/introduction.html                       |   5 +
 user-guide/sql/aggregate_functions.html            |   5 +
 user-guide/sql/data_types.html                     |   5 +
 user-guide/sql/ddl.html                            |   8 +-
 user-guide/sql/dml.html                            |  15 +-
 user-guide/sql/explain.html                        |   5 +
 user-guide/sql/index.html                          |  10 +
 user-guide/sql/information_schema.html             |   5 +
 user-guide/sql/operators.html                      |   5 +
 user-guide/sql/scalar_functions.html               |   5 +
 user-guide/sql/select.html                         |   5 +
 user-guide/sql/sql_status.html                     |  11 +-
 user-guide/sql/subqueries.html                     |   5 +
 user-guide/sql/window_functions.html               |   5 +
 user-guide/sql/write_options.html                  | 712 +++++++++++++++++++++
 47 files changed, 1066 insertions(+), 26 deletions(-)

diff --git a/_sources/user-guide/sql/ddl.md.txt 
b/_sources/user-guide/sql/ddl.md.txt
index 54a9af6c23..b67d323126 100644
--- a/_sources/user-guide/sql/ddl.md.txt
+++ b/_sources/user-guide/sql/ddl.md.txt
@@ -64,7 +64,7 @@ STORED AS <file_type>
 [ DELIMITER <char> ]
 [ COMPRESSION TYPE <GZIP | BZIP2 | XZ | ZSTD> ]
 [ PARTITIONED BY (<column list>) ]
-[ WITH ORDER (<ordered column list>)
+[ WITH ORDER (<ordered column list>) ]
 [ OPTIONS (<key_value_list>) ]
 LOCATION <literal>
 
@@ -77,6 +77,8 @@ LOCATION <literal>
 <key_value_list> := (<literal> <literal, <literal> <literal>, ...)
 ```
 
+For a detailed list of write related options which can be passed in the 
OPTIONS key_value_list, see [Write Options](write_options).
+
 `file_type` is one of `CSV`, `ARROW`, `PARQUET`, `AVRO` or `JSON`
 
 `LOCATION <literal>` specifies the location to find the data. It can be
diff --git a/_sources/user-guide/sql/dml.md.txt 
b/_sources/user-guide/sql/dml.md.txt
index 9794fba4aa..c3226936e7 100644
--- a/_sources/user-guide/sql/dml.md.txt
+++ b/_sources/user-guide/sql/dml.md.txt
@@ -28,18 +28,12 @@ Copies the contents of a table or query to file(s). 
Supported file
 formats are `parquet`, `csv`, and `json` and can be inferred based on
 filename if writing to a single file.
 
-The `PER_THREAD_OUTPUT` option treats `file_name` as a directory and writes a 
file per thread within it.
-
 <pre>
 COPY { <i><b>table_name</i></b> | <i><b>query</i></b> } TO 
'<i><b>file_name</i></b>' [ ( <i><b>option</i></b> [, ... ] ) ]
-
-where <i><b>option</i></b> can be one of:
-    FORMAT <i><b>format_name</i></b>
-    PER_THREAD_OUTPUT <i><b>boolean</i></b>
-    ROW_GROUP_SIZE <i><b>integer</i></b>
-    ROW_GROUP_LIMIT_BYTES <i><b>integer</i></b>
 </pre>
 
+For a detailed list of valid OPTIONS, see [Write Options](write_options).
+
 Copy the contents of `source_table` to `file_name.json` in JSON format:
 
 ```sql
@@ -55,7 +49,7 @@ Copy the contents of `source_table` to one or more Parquet 
formatted
 files in the `dir_name` directory:
 
 ```sql
-> COPY source_table TO 'dir_name' (FORMAT parquet, PER_THREAD_OUTPUT true);
+> COPY source_table TO 'dir_name' (FORMAT parquet, SINGLE_FILE_OUTPUT false);
 +-------+
 | count |
 +-------+
diff --git a/_sources/user-guide/sql/index.rst.txt 
b/_sources/user-guide/sql/index.rst.txt
index b282fbddd6..04d1fc228f 100644
--- a/_sources/user-guide/sql/index.rst.txt
+++ b/_sources/user-guide/sql/index.rst.txt
@@ -33,3 +33,4 @@ SQL Reference
    window_functions
    scalar_functions
    sql_status
+   write_options
diff --git a/_sources/user-guide/sql/write_options.md.txt 
b/_sources/user-guide/sql/write_options.md.txt
new file mode 100644
index 0000000000..c98a39f24b
--- /dev/null
+++ b/_sources/user-guide/sql/write_options.md.txt
@@ -0,0 +1,131 @@
+<!---
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+
+# Write Options
+
+DataFusion supports customizing how data is written out to disk as a result of 
a `COPY` or `INSERT INTO` query. There are a few special options, file format 
(e.g. CSV or parquet) specific options, and parquet column specific options. 
Options can also in some cases be specified in multiple ways with a set order 
of precedence.
+
+## Specifying Options and Order of Precedence
+
+Write related options can be specified in the following ways:
+
+- Session level config defaults
+- `CREATE EXTERNAL TABLE` options
+- `COPY` option tuples
+
+For a list of supported session level config defaults see [Configuration 
Settings](configs). These defaults apply to all write operations but have the 
lowest level of precedence.
+
+If inserting to an external table, table specific write options can be 
specified when the table is created using the `OPTIONS` clause:
+
+```sql
+CREATE EXTERNAL TABLE
+my_table(a bigint, b bigint)
+STORED AS csv
+COMPRESSION TYPE gzip
+WITH HEADER ROW
+DELIMITER ';'
+LOCATION '/test/location/my_csv_table/'
+OPTIONS(
+CREATE_LOCAL_PATH 'true',
+NULL_VALUE 'NAN'
+);
+```
+
+When running `INSERT INTO my_table ...`, the options from the `CREATE TABLE` 
will be respected (gzip compression, special delimiter, and header row 
included). Note that compression, header, and delimiter settings can also be 
specified within the `OPTIONS` tuple list. Dedicated syntax within the SQL 
statement always takes precedence over arbitrary option tuples, so if both are 
specified the `OPTIONS` setting will be ignored. CREATE_LOCAL_PATH is a special 
option that indicates if DataFusi [...]
+
+Finally, options can be passed when running a `COPY` command.
+
+```sql
+COPY source_table
+TO 'test/table_with_options'
+(format parquet,
+single_file_output false,
+compression snappy,
+'compression::col1' 'zstd(5)',
+)
+```
+
+In this example, we write the entirety of `source_table` out to a folder of 
parquet files. The option `single_file_output` set to false, indicates that the 
destination path should be interpreted as a folder to which the query will 
output multiple files. One parquet file will be written in parallel to the 
folder for each partition in the query. The next option `compression` set to 
`snappy` indicates that unless otherwise specified all columns should use the 
snappy compression codec. The o [...]
+
+## Available Options
+
+### COPY Specific Options
+
+The following special options are specific to the `COPY` command.
+
+| Option             | Description                                             
                                                                                
                                     | Default Value |
+| ------------------ | 
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 | ------------- |
+| SINGLE_FILE_OUTPUT | If true, COPY query will write output to a single file. 
Otherwise, multiple files will be written to a directory in parallel.           
                                     | true          |
+| FORMAT             | Specifies the file format COPY query will write out. If 
single_file_output is false or the format cannot be inferred from the file 
extension, then FORMAT must be specified. | N/A           |
+
+### CREATE EXTERNAL TABLE Specific Options
+
+The following special options are specific to creating an external table.
+
+| Option            | Description                                              
                                                                                
                                                                                
                  | Default Value                                               
                 |
+| ----------------- | 
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 | ---------------------------------------------------------------------------- 
|
+| SINGLE_FILE       | If true, indicates that this external table is backed by 
a single file. INSERT INTO queries will append to this file.                    
                                                                                
                  | false                                                       
                 |
+| CREATE_LOCAL_PATH | If true, the folder or file backing this table will be 
created on the local file system if it does not already exist when running 
INSERT INTO queries.                                                            
                         | false                                                
                        |
+| INSERT_MODE       | Determines if INSERT INTO queries should append to 
existing files or append new files to an existing directory. Valid values are 
append_to_file, append_new_files, and error. Note that "error" will block 
inserting data into this table. | CSV and JSON default to append_to_file. 
Parquet defaults to append_new_files |
+
+### JSON Format Specific Options
+
+The following options are available when writing JSON files. Note: If any 
unsupported option is specified, an error will be raised and the query will 
fail.
+
+| Option      | Description                                                    
                                                                    | Default 
Value |
+| ----------- | 
----------------------------------------------------------------------------------------------------------------------------------
 | ------------- |
+| COMPRESSION | Sets the compression that should be applied to the entire JSON 
file. Supported values are GZIP, BZIP2, XZ, ZSTD, and UNCOMPRESSED. | 
UNCOMPRESSED  |
+
+### CSV Format Sepcific Options
+
+The following options are available when writing CSV files. Note: if any 
unsupported options is specified an error will be raised and the query will 
fail.
+
+| Option          | Description                                                
                                                                       | 
Default Value    |
+| --------------- | 
---------------------------------------------------------------------------------------------------------------------------------
 | ---------------- |
+| COMPRESSION     | Sets the compression that should be applied to the entire 
CSV file. Supported values are GZIP, BZIP2, XZ, ZSTD, and UNCOMPRESSED. | 
UNCOMPRESSED     |
+| HEADER          | Sets if the CSV file should include column headers         
                                                                       | false  
          |
+| DATE_FORMAT     | Sets the format that dates should be encoded in within the 
CSV file                                                               | 
arrow-rs default |
+| DATETIME_FORMAT | Sets the format that datetimes should be encoded in within 
the CSV file                                                           | 
arrow-rs default |
+| TIME_FORMAT     | Sets the format that times should be encoded in within the 
CSV file                                                               | 
arrow-rs default |
+| RFC3339         | If true, uses RFC339 format for date and time encodings    
                                                                       | 
arrow-rs default |
+| NULL_VALUE      | Sets the string which should be used to indicate null 
values within the CSV file.                                                 | 
arrow-rs default |
+| DELIMITER       | Sets the character which should be used as the column 
delimiter within the CSV file.                                              | 
arrow-rs default |
+
+### Parquet Format Specific Options
+
+The following options are available when writing parquet files. If any 
unsupported option is specified an error will be raised and the query will 
fail. If a column specific option is specified for a column which does not 
exist, the option will be ignored without error. For default values, see: 
[Configuration 
Settings](https://arrow.apache.org/datafusion/user-guide/configs.html).
+
+| Option                       | Can be Column Specific? | Description         
                                                                                
          |
+| ---------------------------- | ----------------------- | 
-------------------------------------------------------------------------------------------------------------
 |
+| COMPRESSION                  | Yes                     | Sets the 
compression codec and if applicable compression level to use                    
                     |
+| MAX_ROW_GROUP_SIZE           | No                      | Sets the maximum 
number of rows that can be encoded in a single row group                        
             |
+| DATA_PAGESIZE_LIMIT          | No                      | Sets the best 
effort maximum page size in bytes                                               
                |
+| WRITE_BATCH_SIZE             | No                      | Maximum number of 
rows written for each column in a single batch                                  
            |
+| WRITER_VERSION               | No                      | Parquet writer 
version (1.0 or 2.0)                                                            
               |
+| DICTIONARY_PAGE_SIZE_LIMIT   | No                      | Sets best effort 
maximum dictionary page size in bytes                                           
             |
+| CREATED_BY                   | No                      | Sets the "created 
by" property in the parquet file                                                
            |
+| COLUMN_INDEX_TRUNCATE_LENGTH | No                      | Sets the max length 
of min/max value fields in the column index.                                    
          |
+| DATA_PAGE_ROW_COUNT_LIMIT    | No                      | Sets best effort 
maximum number of rows in a data page.                                          
             |
+| BLOOM_FILTER_ENABLED         | Yes                     | Sets whether a 
bloom filter should be written into the file.                                   
               |
+| ENCODING                     | Yes                     | Sets the encoding 
that should be used (e.g. PLAIN or RLE)                                         
            |
+| DICTIONARY_ENABLED           | Yes                     | Sets if dictionary 
encoding is enabled. Use this instead of ENCODING to set dictionary encoding.   
           |
+| STATISTICS_ENABLED           | Yes                     | Sets if statistics 
are enabled at PAGE or ROW_GROUP level.                                         
           |
+| MAX_STATISTICS_SIZE          | Yes                     | Sets the maximum 
size in bytes that statistics can take up.                                      
             |
+| BLOOM_FILTER_FPP             | Yes                     | Sets the false 
positive probability (fpp) for the bloom filter. Implicitly sets 
BLOOM_FILTER_ENABLED to true. |
+| BLOOM_FILTER_NDV             | Yes                     | Sets the number of 
distinct values (ndv) for the bloom filter. Implicitly sets 
bloom_filter_enabled to true.  |
diff --git a/contributor-guide/architecture.html 
b/contributor-guide/architecture.html
index e7570f981e..21f7c2c796 100644
--- a/contributor-guide/architecture.html
+++ b/contributor-guide/architecture.html
@@ -193,6 +193,11 @@
      Status
     </a>
    </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="../user-guide/sql/write_options.html">
+     Write Options
+    </a>
+   </li>
   </ul>
  </li>
  <li class="toctree-l1">
diff --git a/contributor-guide/communication.html 
b/contributor-guide/communication.html
index 952a1db637..f526c7e935 100644
--- a/contributor-guide/communication.html
+++ b/contributor-guide/communication.html
@@ -193,6 +193,11 @@
      Status
     </a>
    </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="../user-guide/sql/write_options.html">
+     Write Options
+    </a>
+   </li>
   </ul>
  </li>
  <li class="toctree-l1">
diff --git a/contributor-guide/index.html b/contributor-guide/index.html
index a7750af32f..1c7690f406 100644
--- a/contributor-guide/index.html
+++ b/contributor-guide/index.html
@@ -193,6 +193,11 @@
      Status
     </a>
    </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="../user-guide/sql/write_options.html">
+     Write Options
+    </a>
+   </li>
   </ul>
  </li>
  <li class="toctree-l1">
diff --git a/contributor-guide/quarterly_roadmap.html 
b/contributor-guide/quarterly_roadmap.html
index bde827f729..e79e341460 100644
--- a/contributor-guide/quarterly_roadmap.html
+++ b/contributor-guide/quarterly_roadmap.html
@@ -193,6 +193,11 @@
      Status
     </a>
    </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="../user-guide/sql/write_options.html">
+     Write Options
+    </a>
+   </li>
   </ul>
  </li>
  <li class="toctree-l1">
diff --git a/contributor-guide/roadmap.html b/contributor-guide/roadmap.html
index b41c2bbd27..7f8cf2426d 100644
--- a/contributor-guide/roadmap.html
+++ b/contributor-guide/roadmap.html
@@ -193,6 +193,11 @@
      Status
     </a>
    </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="../user-guide/sql/write_options.html">
+     Write Options
+    </a>
+   </li>
   </ul>
  </li>
  <li class="toctree-l1">
diff --git a/contributor-guide/specification/index.html 
b/contributor-guide/specification/index.html
index 8e5c14148f..794dd69fe8 100644
--- a/contributor-guide/specification/index.html
+++ b/contributor-guide/specification/index.html
@@ -193,6 +193,11 @@
      Status
     </a>
    </li>
+   <li class="toctree-l2">
+    <a class="reference internal" 
href="../../user-guide/sql/write_options.html">
+     Write Options
+    </a>
+   </li>
   </ul>
  </li>
  <li class="toctree-l1">
diff --git a/contributor-guide/specification/invariants.html 
b/contributor-guide/specification/invariants.html
index 404aeeba80..8e8dca7689 100644
--- a/contributor-guide/specification/invariants.html
+++ b/contributor-guide/specification/invariants.html
@@ -193,6 +193,11 @@
      Status
     </a>
    </li>
+   <li class="toctree-l2">
+    <a class="reference internal" 
href="../../user-guide/sql/write_options.html">
+     Write Options
+    </a>
+   </li>
   </ul>
  </li>
  <li class="toctree-l1">
diff --git a/contributor-guide/specification/output-field-name-semantic.html 
b/contributor-guide/specification/output-field-name-semantic.html
index d8d3d1d855..c946323d1c 100644
--- a/contributor-guide/specification/output-field-name-semantic.html
+++ b/contributor-guide/specification/output-field-name-semantic.html
@@ -192,6 +192,11 @@
      Status
     </a>
    </li>
+   <li class="toctree-l2">
+    <a class="reference internal" 
href="../../user-guide/sql/write_options.html">
+     Write Options
+    </a>
+   </li>
   </ul>
  </li>
  <li class="toctree-l1">
diff --git a/genindex.html b/genindex.html
index 706213ba7d..4dce4f4fa3 100644
--- a/genindex.html
+++ b/genindex.html
@@ -190,6 +190,11 @@
      Status
     </a>
    </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="user-guide/sql/write_options.html">
+     Write Options
+    </a>
+   </li>
   </ul>
  </li>
  <li class="toctree-l1">
diff --git a/index.html b/index.html
index bc5942775f..181f850968 100644
--- a/index.html
+++ b/index.html
@@ -192,6 +192,11 @@
      Status
     </a>
    </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="user-guide/sql/write_options.html">
+     Write Options
+    </a>
+   </li>
   </ul>
  </li>
  <li class="toctree-l1">
diff --git a/library-user-guide/adding-udfs.html 
b/library-user-guide/adding-udfs.html
index 0d65acea9f..4ed3f7d45e 100644
--- a/library-user-guide/adding-udfs.html
+++ b/library-user-guide/adding-udfs.html
@@ -193,6 +193,11 @@
      Status
     </a>
    </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="../user-guide/sql/write_options.html">
+     Write Options
+    </a>
+   </li>
   </ul>
  </li>
  <li class="toctree-l1">
diff --git a/library-user-guide/building-logical-plans.html 
b/library-user-guide/building-logical-plans.html
index 3b68d2275b..3011fbbe3a 100644
--- a/library-user-guide/building-logical-plans.html
+++ b/library-user-guide/building-logical-plans.html
@@ -193,6 +193,11 @@
      Status
     </a>
    </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="../user-guide/sql/write_options.html">
+     Write Options
+    </a>
+   </li>
   </ul>
  </li>
  <li class="toctree-l1">
diff --git a/library-user-guide/catalogs.html b/library-user-guide/catalogs.html
index c981f397fa..b63ee48990 100644
--- a/library-user-guide/catalogs.html
+++ b/library-user-guide/catalogs.html
@@ -193,6 +193,11 @@
      Status
     </a>
    </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="../user-guide/sql/write_options.html">
+     Write Options
+    </a>
+   </li>
   </ul>
  </li>
  <li class="toctree-l1">
diff --git a/library-user-guide/custom-table-providers.html 
b/library-user-guide/custom-table-providers.html
index 2f84cfb641..79416f1c7d 100644
--- a/library-user-guide/custom-table-providers.html
+++ b/library-user-guide/custom-table-providers.html
@@ -193,6 +193,11 @@
      Status
     </a>
    </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="../user-guide/sql/write_options.html">
+     Write Options
+    </a>
+   </li>
   </ul>
  </li>
  <li class="toctree-l1">
diff --git a/library-user-guide/extending-operators.html 
b/library-user-guide/extending-operators.html
index 9ad61b5749..9aeebe9efa 100644
--- a/library-user-guide/extending-operators.html
+++ b/library-user-guide/extending-operators.html
@@ -193,6 +193,11 @@
      Status
     </a>
    </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="../user-guide/sql/write_options.html">
+     Write Options
+    </a>
+   </li>
   </ul>
  </li>
  <li class="toctree-l1">
diff --git a/library-user-guide/index.html b/library-user-guide/index.html
index 875a8e7633..0a8bd6ef46 100644
--- a/library-user-guide/index.html
+++ b/library-user-guide/index.html
@@ -193,6 +193,11 @@
      Status
     </a>
    </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="../user-guide/sql/write_options.html">
+     Write Options
+    </a>
+   </li>
   </ul>
  </li>
  <li class="toctree-l1">
diff --git a/library-user-guide/using-the-dataframe-api.html 
b/library-user-guide/using-the-dataframe-api.html
index e90dd41f2e..7a846caf05 100644
--- a/library-user-guide/using-the-dataframe-api.html
+++ b/library-user-guide/using-the-dataframe-api.html
@@ -193,6 +193,11 @@
      Status
     </a>
    </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="../user-guide/sql/write_options.html">
+     Write Options
+    </a>
+   </li>
   </ul>
  </li>
  <li class="toctree-l1">
diff --git a/library-user-guide/using-the-sql-api.html 
b/library-user-guide/using-the-sql-api.html
index 1a959f5a2c..0d2190adcc 100644
--- a/library-user-guide/using-the-sql-api.html
+++ b/library-user-guide/using-the-sql-api.html
@@ -193,6 +193,11 @@
      Status
     </a>
    </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="../user-guide/sql/write_options.html">
+     Write Options
+    </a>
+   </li>
   </ul>
  </li>
  <li class="toctree-l1">
diff --git a/library-user-guide/working-with-exprs.html 
b/library-user-guide/working-with-exprs.html
index a6d3974315..076c6e184a 100644
--- a/library-user-guide/working-with-exprs.html
+++ b/library-user-guide/working-with-exprs.html
@@ -193,6 +193,11 @@
      Status
     </a>
    </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="../user-guide/sql/write_options.html">
+     Write Options
+    </a>
+   </li>
   </ul>
  </li>
  <li class="toctree-l1">
diff --git a/objects.inv b/objects.inv
index 7a2a98b996..be6ba784e9 100644
Binary files a/objects.inv and b/objects.inv differ
diff --git a/search.html b/search.html
index 3caf7c6b16..66836a86ea 100644
--- a/search.html
+++ b/search.html
@@ -196,6 +196,11 @@
      Status
     </a>
    </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="user-guide/sql/write_options.html">
+     Write Options
+    </a>
+   </li>
   </ul>
  </li>
  <li class="toctree-l1">
diff --git a/searchindex.js b/searchindex.js
index 157960fb3a..e546b8534c 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["contributor-guide/architecture", 
"contributor-guide/communication", "contributor-guide/index", 
"contributor-guide/quarterly_roadmap", "contributor-guide/roadmap", 
"contributor-guide/specification/index", 
"contributor-guide/specification/invariants", 
"contributor-guide/specification/output-field-name-semantic", "index", 
"library-user-guide/adding-udfs", "library-user-guide/building-logical-plans", 
"library-user-guide/catalogs", "library-user-guide/custom-tab [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["contributor-guide/architecture", 
"contributor-guide/communication", "contributor-guide/index", 
"contributor-guide/quarterly_roadmap", "contributor-guide/roadmap", 
"contributor-guide/specification/index", 
"contributor-guide/specification/invariants", 
"contributor-guide/specification/output-field-name-semantic", "index", 
"library-user-guide/adding-udfs", "library-user-guide/building-logical-plans", 
"library-user-guide/catalogs", "library-user-guide/custom-tab [...]
\ No newline at end of file
diff --git a/user-guide/cli.html b/user-guide/cli.html
index aa5c28251a..28ad04f852 100644
--- a/user-guide/cli.html
+++ b/user-guide/cli.html
@@ -193,6 +193,11 @@
      Status
     </a>
    </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="sql/write_options.html">
+     Write Options
+    </a>
+   </li>
   </ul>
  </li>
  <li class="toctree-l1">
diff --git a/user-guide/configs.html b/user-guide/configs.html
index c5f15cb376..b2af9d519a 100644
--- a/user-guide/configs.html
+++ b/user-guide/configs.html
@@ -34,7 +34,7 @@
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Frequently Asked Questions" href="faq.html" />
-    <link rel="prev" title="Status" href="sql/sql_status.html" />
+    <link rel="prev" title="Write Options" href="sql/write_options.html" />
     <meta name="viewport" content="width=device-width, initial-scale=1" />
     <meta name="docsearch:language" content="en">
     
@@ -193,6 +193,11 @@
      Status
     </a>
    </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="sql/write_options.html">
+     Write Options
+    </a>
+   </li>
   </ul>
  </li>
  <li class="toctree-l1 current active">
@@ -650,11 +655,11 @@ Environment variables are read during <code 
class="docutils literal notranslate"
               
               <!-- Previous / next buttons -->
 <div class='prev-next-area'>
-    <a class='left-prev' id="prev-link" href="sql/sql_status.html" 
title="previous page">
+    <a class='left-prev' id="prev-link" href="sql/write_options.html" 
title="previous page">
         <i class="fas fa-angle-left"></i>
         <div class="prev-next-info">
             <p class="prev-next-subtitle">previous</p>
-            <p class="prev-next-title">Status</p>
+            <p class="prev-next-title">Write Options</p>
         </div>
     </a>
     <a class='right-next' id="next-link" href="faq.html" title="next page">
diff --git a/user-guide/dataframe.html b/user-guide/dataframe.html
index 45cd63ea27..27898e5e8e 100644
--- a/user-guide/dataframe.html
+++ b/user-guide/dataframe.html
@@ -193,6 +193,11 @@
      Status
     </a>
    </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="sql/write_options.html">
+     Write Options
+    </a>
+   </li>
   </ul>
  </li>
  <li class="toctree-l1">
diff --git a/user-guide/example-usage.html b/user-guide/example-usage.html
index cef930b0da..2c0032332c 100644
--- a/user-guide/example-usage.html
+++ b/user-guide/example-usage.html
@@ -193,6 +193,11 @@
      Status
     </a>
    </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="sql/write_options.html">
+     Write Options
+    </a>
+   </li>
   </ul>
  </li>
  <li class="toctree-l1">
diff --git a/user-guide/expressions.html b/user-guide/expressions.html
index 02e77ca764..0f588849d5 100644
--- a/user-guide/expressions.html
+++ b/user-guide/expressions.html
@@ -193,6 +193,11 @@
      Status
     </a>
    </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="sql/write_options.html">
+     Write Options
+    </a>
+   </li>
   </ul>
  </li>
  <li class="toctree-l1">
diff --git a/user-guide/faq.html b/user-guide/faq.html
index 6400b6948c..8342ce45d2 100644
--- a/user-guide/faq.html
+++ b/user-guide/faq.html
@@ -193,6 +193,11 @@
      Status
     </a>
    </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="sql/write_options.html">
+     Write Options
+    </a>
+   </li>
   </ul>
  </li>
  <li class="toctree-l1">
diff --git a/user-guide/introduction.html b/user-guide/introduction.html
index cd5d0af59f..49eba37c1f 100644
--- a/user-guide/introduction.html
+++ b/user-guide/introduction.html
@@ -193,6 +193,11 @@
      Status
     </a>
    </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="sql/write_options.html">
+     Write Options
+    </a>
+   </li>
   </ul>
  </li>
  <li class="toctree-l1">
diff --git a/user-guide/sql/aggregate_functions.html 
b/user-guide/sql/aggregate_functions.html
index df1e7db4a5..b27b2bf4a4 100644
--- a/user-guide/sql/aggregate_functions.html
+++ b/user-guide/sql/aggregate_functions.html
@@ -193,6 +193,11 @@
      Status
     </a>
    </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="write_options.html">
+     Write Options
+    </a>
+   </li>
   </ul>
  </li>
  <li class="toctree-l1">
diff --git a/user-guide/sql/data_types.html b/user-guide/sql/data_types.html
index f4131c3a74..c9c4e6bb55 100644
--- a/user-guide/sql/data_types.html
+++ b/user-guide/sql/data_types.html
@@ -193,6 +193,11 @@
      Status
     </a>
    </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="write_options.html">
+     Write Options
+    </a>
+   </li>
   </ul>
  </li>
  <li class="toctree-l1">
diff --git a/user-guide/sql/ddl.html b/user-guide/sql/ddl.html
index 0dcad8a66f..c221f9a1cc 100644
--- a/user-guide/sql/ddl.html
+++ b/user-guide/sql/ddl.html
@@ -193,6 +193,11 @@
      Status
     </a>
    </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="write_options.html">
+     Write Options
+    </a>
+   </li>
   </ul>
  </li>
  <li class="toctree-l1">
@@ -467,7 +472,7 @@ file system or remote object store as a named table which 
can be queried.</p>
 <span class="p">[</span> <span class="n">DELIMITER</span> <span 
class="o">&lt;</span><span class="n">char</span><span class="o">&gt;</span> 
<span class="p">]</span>
 <span class="p">[</span> <span class="n">COMPRESSION</span> <span 
class="n">TYPE</span> <span class="o">&lt;</span><span class="n">GZIP</span> 
<span class="o">|</span> <span class="n">BZIP2</span> <span class="o">|</span> 
<span class="n">XZ</span> <span class="o">|</span> <span 
class="n">ZSTD</span><span class="o">&gt;</span> <span class="p">]</span>
 <span class="p">[</span> <span class="n">PARTITIONED</span> <span 
class="n">BY</span> <span class="p">(</span><span class="o">&lt;</span><span 
class="n">column</span> <span class="nb">list</span><span 
class="o">&gt;</span><span class="p">)</span> <span class="p">]</span>
-<span class="p">[</span> <span class="n">WITH</span> <span 
class="n">ORDER</span> <span class="p">(</span><span class="o">&lt;</span><span 
class="n">ordered</span> <span class="n">column</span> <span 
class="nb">list</span><span class="o">&gt;</span><span class="p">)</span>
+<span class="p">[</span> <span class="n">WITH</span> <span 
class="n">ORDER</span> <span class="p">(</span><span class="o">&lt;</span><span 
class="n">ordered</span> <span class="n">column</span> <span 
class="nb">list</span><span class="o">&gt;</span><span class="p">)</span> <span 
class="p">]</span>
 <span class="p">[</span> <span class="n">OPTIONS</span> <span 
class="p">(</span><span class="o">&lt;</span><span 
class="n">key_value_list</span><span class="o">&gt;</span><span 
class="p">)</span> <span class="p">]</span>
 <span class="n">LOCATION</span> <span class="o">&lt;</span><span 
class="n">literal</span><span class="o">&gt;</span>
 
@@ -480,6 +485,7 @@ file system or remote object store as a named table which 
can be queried.</p>
 <span class="o">&lt;</span><span class="n">key_value_list</span><span 
class="o">&gt;</span> <span class="o">:=</span> <span class="p">(</span><span 
class="o">&lt;</span><span class="n">literal</span><span class="o">&gt;</span> 
<span class="o">&lt;</span><span class="n">literal</span><span 
class="p">,</span> <span class="o">&lt;</span><span 
class="n">literal</span><span class="o">&gt;</span> <span 
class="o">&lt;</span><span class="n">literal</span><span 
class="o">&gt;</span><span class="p [...]
 </pre></div>
 </div>
+<p>For a detailed list of write related options which can be passed in the 
OPTIONS key_value_list, see <a class="reference internal" 
href="write_options.html"><span class="doc std std-doc">Write 
Options</span></a>.</p>
 <p><code class="docutils literal notranslate"><span 
class="pre">file_type</span></code> is one of <code class="docutils literal 
notranslate"><span class="pre">CSV</span></code>, <code class="docutils literal 
notranslate"><span class="pre">ARROW</span></code>, <code class="docutils 
literal notranslate"><span class="pre">PARQUET</span></code>, <code 
class="docutils literal notranslate"><span class="pre">AVRO</span></code> or 
<code class="docutils literal notranslate"><span class="pre">JSON [...]
 <p><code class="docutils literal notranslate"><span 
class="pre">LOCATION</span> <span class="pre">&lt;literal&gt;</span></code> 
specifies the location to find the data. It can be
 a path to a file or directory of partitioned files locally or on an
diff --git a/user-guide/sql/dml.html b/user-guide/sql/dml.html
index b02b727931..97b6b02656 100644
--- a/user-guide/sql/dml.html
+++ b/user-guide/sql/dml.html
@@ -193,6 +193,11 @@
      Status
     </a>
    </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="write_options.html">
+     Write Options
+    </a>
+   </li>
   </ul>
  </li>
  <li class="toctree-l1">
@@ -405,16 +410,10 @@ and modifying data in tables.</p>
 <p>Copies the contents of a table or query to file(s). Supported file
 formats are <code class="docutils literal notranslate"><span 
class="pre">parquet</span></code>, <code class="docutils literal 
notranslate"><span class="pre">csv</span></code>, and <code class="docutils 
literal notranslate"><span class="pre">json</span></code> and can be inferred 
based on
 filename if writing to a single file.</p>
-<p>The <code class="docutils literal notranslate"><span 
class="pre">PER_THREAD_OUTPUT</span></code> option treats <code class="docutils 
literal notranslate"><span class="pre">file_name</span></code> as a directory 
and writes a file per thread within it.</p>
 <pre>
 COPY { <i><b>table_name</i></b> | <i><b>query</i></b> } TO 
'<i><b>file_name</i></b>' [ ( <i><b>option</i></b> [, ... ] ) ]
-
-where <i><b>option</i></b> can be one of:
-    FORMAT <i><b>format_name</i></b>
-    PER_THREAD_OUTPUT <i><b>boolean</i></b>
-    ROW_GROUP_SIZE <i><b>integer</i></b>
-    ROW_GROUP_LIMIT_BYTES <i><b>integer</i></b>
 </pre>
+<p>For a detailed list of valid OPTIONS, see <a class="reference internal" 
href="write_options.html"><span class="doc std std-doc">Write 
Options</span></a>.</p>
 <p>Copy the contents of <code class="docutils literal notranslate"><span 
class="pre">source_table</span></code> to <code class="docutils literal 
notranslate"><span class="pre">file_name.json</span></code> in JSON format:</p>
 <div class="highlight-sql notranslate"><div 
class="highlight"><pre><span></span><span class="o">&gt;</span><span class="w"> 
</span><span class="k">COPY</span><span class="w"> </span><span 
class="n">source_table</span><span class="w"> </span><span 
class="k">TO</span><span class="w"> </span><span 
class="s1">&#39;file_name.json&#39;</span><span class="p">;</span>
 <span class="o">+</span><span class="c1">-------+</span>
@@ -426,7 +425,7 @@ where <i><b>option</i></b> can be one of:
 </div>
 <p>Copy the contents of <code class="docutils literal notranslate"><span 
class="pre">source_table</span></code> to one or more Parquet formatted
 files in the <code class="docutils literal notranslate"><span 
class="pre">dir_name</span></code> directory:</p>
-<div class="highlight-sql notranslate"><div 
class="highlight"><pre><span></span><span class="o">&gt;</span><span class="w"> 
</span><span class="k">COPY</span><span class="w"> </span><span 
class="n">source_table</span><span class="w"> </span><span 
class="k">TO</span><span class="w"> </span><span 
class="s1">&#39;dir_name&#39;</span><span class="w"> </span><span 
class="p">(</span><span class="n">FORMAT</span><span class="w"> </span><span 
class="n">parquet</span><span class="p">,</span><span [...]
+<div class="highlight-sql notranslate"><div 
class="highlight"><pre><span></span><span class="o">&gt;</span><span class="w"> 
</span><span class="k">COPY</span><span class="w"> </span><span 
class="n">source_table</span><span class="w"> </span><span 
class="k">TO</span><span class="w"> </span><span 
class="s1">&#39;dir_name&#39;</span><span class="w"> </span><span 
class="p">(</span><span class="n">FORMAT</span><span class="w"> </span><span 
class="n">parquet</span><span class="p">,</span><span [...]
 <span class="o">+</span><span class="c1">-------+</span>
 <span class="o">|</span><span class="w"> </span><span 
class="k">count</span><span class="w"> </span><span class="o">|</span>
 <span class="o">+</span><span class="c1">-------+</span>
diff --git a/user-guide/sql/explain.html b/user-guide/sql/explain.html
index 062e9f21d8..5842b4721a 100644
--- a/user-guide/sql/explain.html
+++ b/user-guide/sql/explain.html
@@ -193,6 +193,11 @@
      Status
     </a>
    </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="write_options.html">
+     Write Options
+    </a>
+   </li>
   </ul>
  </li>
  <li class="toctree-l1">
diff --git a/user-guide/sql/index.html b/user-guide/sql/index.html
index 31c0aa2012..2566710a9c 100644
--- a/user-guide/sql/index.html
+++ b/user-guide/sql/index.html
@@ -193,6 +193,11 @@
      Status
     </a>
    </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="write_options.html">
+     Write Options
+    </a>
+   </li>
   </ul>
  </li>
  <li class="toctree-l1">
@@ -461,6 +466,11 @@
 <li class="toctree-l2"><a class="reference internal" 
href="sql_status.html#data-sources">Data Sources</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" 
href="write_options.html">Write Options</a><ul>
+<li class="toctree-l2"><a class="reference internal" 
href="write_options.html#specifying-options-and-order-of-precedence">Specifying 
Options and Order of Precedence</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="write_options.html#available-options">Available Options</a></li>
+</ul>
+</li>
 </ul>
 </div>
 </section>
diff --git a/user-guide/sql/information_schema.html 
b/user-guide/sql/information_schema.html
index 0d82901327..b20368bbe8 100644
--- a/user-guide/sql/information_schema.html
+++ b/user-guide/sql/information_schema.html
@@ -193,6 +193,11 @@
      Status
     </a>
    </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="write_options.html">
+     Write Options
+    </a>
+   </li>
   </ul>
  </li>
  <li class="toctree-l1">
diff --git a/user-guide/sql/operators.html b/user-guide/sql/operators.html
index 63ce44db33..816b43e582 100644
--- a/user-guide/sql/operators.html
+++ b/user-guide/sql/operators.html
@@ -193,6 +193,11 @@
      Status
     </a>
    </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="write_options.html">
+     Write Options
+    </a>
+   </li>
   </ul>
  </li>
  <li class="toctree-l1">
diff --git a/user-guide/sql/scalar_functions.html 
b/user-guide/sql/scalar_functions.html
index f8d6d9e90c..659905ddd5 100644
--- a/user-guide/sql/scalar_functions.html
+++ b/user-guide/sql/scalar_functions.html
@@ -193,6 +193,11 @@
      Status
     </a>
    </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="write_options.html">
+     Write Options
+    </a>
+   </li>
   </ul>
  </li>
  <li class="toctree-l1">
diff --git a/user-guide/sql/select.html b/user-guide/sql/select.html
index a1ad0bbfb7..49f3aeb27f 100644
--- a/user-guide/sql/select.html
+++ b/user-guide/sql/select.html
@@ -193,6 +193,11 @@
      Status
     </a>
    </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="write_options.html">
+     Write Options
+    </a>
+   </li>
   </ul>
  </li>
  <li class="toctree-l1">
diff --git a/user-guide/sql/sql_status.html b/user-guide/sql/sql_status.html
index 10cab8eb71..a3863f56dd 100644
--- a/user-guide/sql/sql_status.html
+++ b/user-guide/sql/sql_status.html
@@ -33,7 +33,7 @@
     <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
-    <link rel="next" title="Configuration Settings" href="../configs.html" />
+    <link rel="next" title="Write Options" href="write_options.html" />
     <link rel="prev" title="Scalar Functions" href="scalar_functions.html" />
     <meta name="viewport" content="width=device-width, initial-scale=1" />
     <meta name="docsearch:language" content="en">
@@ -193,6 +193,11 @@
      Status
     </a>
    </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="write_options.html">
+     Write Options
+    </a>
+   </li>
   </ul>
  </li>
  <li class="toctree-l1">
@@ -530,10 +535,10 @@ trait, DataFusion includes built in support for the 
following formats:</p>
             <p class="prev-next-title">Scalar Functions</p>
         </div>
     </a>
-    <a class='right-next' id="next-link" href="../configs.html" title="next 
page">
+    <a class='right-next' id="next-link" href="write_options.html" title="next 
page">
     <div class="prev-next-info">
         <p class="prev-next-subtitle">next</p>
-        <p class="prev-next-title">Configuration Settings</p>
+        <p class="prev-next-title">Write Options</p>
     </div>
     <i class="fas fa-angle-right"></i>
     </a>
diff --git a/user-guide/sql/subqueries.html b/user-guide/sql/subqueries.html
index 5a9f0f05aa..1088ca7c8f 100644
--- a/user-guide/sql/subqueries.html
+++ b/user-guide/sql/subqueries.html
@@ -193,6 +193,11 @@
      Status
     </a>
    </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="write_options.html">
+     Write Options
+    </a>
+   </li>
   </ul>
  </li>
  <li class="toctree-l1">
diff --git a/user-guide/sql/window_functions.html 
b/user-guide/sql/window_functions.html
index 0ad9373efe..43aed7adf0 100644
--- a/user-guide/sql/window_functions.html
+++ b/user-guide/sql/window_functions.html
@@ -193,6 +193,11 @@
      Status
     </a>
    </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="write_options.html">
+     Write Options
+    </a>
+   </li>
   </ul>
  </li>
  <li class="toctree-l1">
diff --git a/user-guide/sql/write_options.html 
b/user-guide/sql/write_options.html
new file mode 100644
index 0000000000..2ccc8f75d2
--- /dev/null
+++ b/user-guide/sql/write_options.html
@@ -0,0 +1,712 @@
+<!DOCTYPE html>
+
+<html lang="en" data-content_root="../../">
+  <head>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" 
/><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+    <title>Write Options &#8212; Arrow DataFusion  documentation</title>
+    
+    <link href="../../_static/styles/theme.css?digest=1999514e3f237ded88cf" 
rel="stylesheet">
+<link 
href="../../_static/styles/pydata-sphinx-theme.css?digest=1999514e3f237ded88cf" 
rel="stylesheet">
+  
+    
+    <link rel="stylesheet"
+      href="../../_static/vendor/fontawesome/5.13.0/css/all.min.css">
+    <link rel="preload" as="font" type="font/woff2" crossorigin
+      
href="../../_static/vendor/fontawesome/5.13.0/webfonts/fa-solid-900.woff2">
+    <link rel="preload" as="font" type="font/woff2" crossorigin
+      
href="../../_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.woff2">
+  
+    
+      
+  
+    
+    <link rel="stylesheet" type="text/css" 
href="../../_static/pygments.css?v=a746c00c" />
+    <link rel="stylesheet" type="text/css" 
href="../../_static/styles/pydata-sphinx-theme.css?v=1140d252" />
+    <link rel="stylesheet" type="text/css" 
href="../../_static/theme_overrides.css?v=51945fb5" />
+    
+    <link rel="preload" as="script" 
href="../../_static/scripts/pydata-sphinx-theme.js?digest=1999514e3f237ded88cf">
+  
+    <script src="../../_static/documentation_options.js?v=8a448e45"></script>
+    <script src="../../_static/doctools.js?v=888ff710"></script>
+    <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Configuration Settings" href="../configs.html" />
+    <link rel="prev" title="Status" href="sql_status.html" />
+    <meta name="viewport" content="width=device-width, initial-scale=1" />
+    <meta name="docsearch:language" content="en">
+    
+
+    <!-- Google Analytics -->
+    
+  </head>
+  <body data-spy="scroll" data-target="#bd-toc-nav" data-offset="80">
+    
+    <div class="container-fluid" id="banner"></div>
+
+    
+
+
+    <div class="container-xl">
+      <div class="row">
+          
+            
+            <!-- Only show if we have sidebars configured, else just a small 
margin  -->
+            <div class="col-12 col-md-3 bd-sidebar">
+              <div class="sidebar-start-items">
+
+<form class="bd-search d-flex align-items-center" action="../../search.html" 
method="get">
+  <i class="icon fas fa-search"></i>
+  <input type="search" class="form-control" name="q" id="search-input" 
placeholder="Search the docs ..." aria-label="Search the docs ..." 
autocomplete="off" >
+</form>
+
+<nav class="bd-links" id="bd-docs-nav" aria-label="Main navigation">
+  <div class="bd-toc-item active">
+    
+    <p aria-level="2" class="caption" role="heading">
+ <span class="caption-text">
+  Links
+ </span>
+</p>
+<ul class="nav bd-sidenav">
+ <li class="toctree-l1">
+  <a class="reference external" 
href="https://github.com/apache/arrow-datafusion";>
+   Github and Issue Tracker
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference external" href="https://crates.io/crates/datafusion";>
+   crates.io
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference external" 
href="https://docs.rs/datafusion/latest/datafusion/";>
+   API Docs
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference external" 
href="https://github.com/apache/arrow-datafusion/blob/main/CODE_OF_CONDUCT.md";>
+   Code of conduct
+  </a>
+ </li>
+</ul>
+<p aria-level="2" class="caption" role="heading">
+ <span class="caption-text">
+  User Guide
+ </span>
+</p>
+<ul class="current nav bd-sidenav">
+ <li class="toctree-l1">
+  <a class="reference internal" href="../introduction.html">
+   Introduction
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="../example-usage.html">
+   Example Usage
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="../cli.html">
+   Command line SQL console
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="../dataframe.html">
+   DataFrame API
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="../expressions.html">
+   Expression API
+  </a>
+ </li>
+ <li class="toctree-l1 current active has-children">
+  <a class="reference internal" href="index.html">
+   SQL Reference
+  </a>
+  <input checked="" class="toctree-checkbox" id="toctree-checkbox-1" 
name="toctree-checkbox-1" type="checkbox"/>
+  <label for="toctree-checkbox-1">
+   <i class="fas fa-chevron-down">
+   </i>
+  </label>
+  <ul class="current">
+   <li class="toctree-l2">
+    <a class="reference internal" href="data_types.html">
+     Data Types
+    </a>
+   </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="select.html">
+     SELECT syntax
+    </a>
+   </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="subqueries.html">
+     Subqueries
+    </a>
+   </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="ddl.html">
+     DDL
+    </a>
+   </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="dml.html">
+     DML
+    </a>
+   </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="explain.html">
+     EXPLAIN
+    </a>
+   </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="information_schema.html">
+     Information Schema
+    </a>
+   </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="operators.html">
+     Operators
+    </a>
+   </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="aggregate_functions.html">
+     Aggregate Functions
+    </a>
+   </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="window_functions.html">
+     Window Functions
+    </a>
+   </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="scalar_functions.html">
+     Scalar Functions
+    </a>
+   </li>
+   <li class="toctree-l2">
+    <a class="reference internal" href="sql_status.html">
+     Status
+    </a>
+   </li>
+   <li class="toctree-l2 current active">
+    <a class="current reference internal" href="#">
+     Write Options
+    </a>
+   </li>
+  </ul>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="../configs.html">
+   Configuration Settings
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="../faq.html">
+   Frequently Asked Questions
+  </a>
+ </li>
+</ul>
+<p aria-level="2" class="caption" role="heading">
+ <span class="caption-text">
+  Library User Guide
+ </span>
+</p>
+<ul class="nav bd-sidenav">
+ <li class="toctree-l1">
+  <a class="reference internal" href="../../library-user-guide/index.html">
+   Introduction
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference internal" 
href="../../library-user-guide/using-the-sql-api.html">
+   Using the SQL API
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference internal" 
href="../../library-user-guide/working-with-exprs.html">
+   Working with Exprs
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference internal" 
href="../../library-user-guide/using-the-dataframe-api.html">
+   Using the DataFrame API
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference internal" 
href="../../library-user-guide/building-logical-plans.html">
+   Building Logical Plans
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="../../library-user-guide/catalogs.html">
+   Catalogs, Schemas, and Tables
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference internal" 
href="../../library-user-guide/adding-udfs.html">
+   Adding User Defined Functions: Scalar/Window/Aggregate
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference internal" 
href="../../library-user-guide/custom-table-providers.html">
+   Custom Table Provider
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference internal" 
href="../../library-user-guide/extending-operators.html">
+   Extending DataFusion’s operators: custom LogicalPlan and Execution Plans
+  </a>
+ </li>
+</ul>
+<p aria-level="2" class="caption" role="heading">
+ <span class="caption-text">
+  Contributor Guide
+ </span>
+</p>
+<ul class="nav bd-sidenav">
+ <li class="toctree-l1">
+  <a class="reference internal" href="../../contributor-guide/index.html">
+   Introduction
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference internal" 
href="../../contributor-guide/communication.html">
+   Communication
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference internal" 
href="../../contributor-guide/architecture.html">
+   Architecture
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="../../contributor-guide/roadmap.html">
+   Roadmap
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference internal" 
href="../../contributor-guide/quarterly_roadmap.html">
+   Quarterly Roadmap
+  </a>
+ </li>
+ <li class="toctree-l1 has-children">
+  <a class="reference internal" 
href="../../contributor-guide/specification/index.html">
+   Specifications
+  </a>
+  <input class="toctree-checkbox" id="toctree-checkbox-2" 
name="toctree-checkbox-2" type="checkbox"/>
+  <label for="toctree-checkbox-2">
+   <i class="fas fa-chevron-down">
+   </i>
+  </label>
+  <ul>
+   <li class="toctree-l2">
+    <a class="reference internal" 
href="../../contributor-guide/specification/invariants.html">
+     Invariants
+    </a>
+   </li>
+   <li class="toctree-l2">
+    <a class="reference internal" 
href="../../contributor-guide/specification/output-field-name-semantic.html">
+     Output field name semantics
+    </a>
+   </li>
+  </ul>
+ </li>
+</ul>
+
+    
+  </div>
+
+  <a class="navbar-brand" href="../../index.html">
+    <img src="../../_static/images/DataFusion-Logo-Background-White.png" 
class="logo" alt="logo">
+  </a>
+</nav>
+
+              </div>
+              <div class="sidebar-end-items">
+              </div>
+            </div>
+            
+          
+
+          
+          <div class="d-none d-xl-block col-xl-2 bd-toc">
+            
+              
+              <div class="toc-item">
+                
+<div class="tocsection onthispage pt-5 pb-3">
+    <i class="fas fa-list"></i> On this page
+</div>
+
+<nav id="bd-toc-nav">
+    <ul class="visible nav section-nav flex-column">
+ <li class="toc-h2 nav-item toc-entry">
+  <a class="reference internal nav-link" 
href="#specifying-options-and-order-of-precedence">
+   Specifying Options and Order of Precedence
+  </a>
+ </li>
+ <li class="toc-h2 nav-item toc-entry">
+  <a class="reference internal nav-link" href="#available-options">
+   Available Options
+  </a>
+  <ul class="nav section-nav flex-column">
+   <li class="toc-h3 nav-item toc-entry">
+    <a class="reference internal nav-link" href="#copy-specific-options">
+     COPY Specific Options
+    </a>
+   </li>
+   <li class="toc-h3 nav-item toc-entry">
+    <a class="reference internal nav-link" 
href="#create-external-table-specific-options">
+     CREATE EXTERNAL TABLE Specific Options
+    </a>
+   </li>
+   <li class="toc-h3 nav-item toc-entry">
+    <a class="reference internal nav-link" 
href="#json-format-specific-options">
+     JSON Format Specific Options
+    </a>
+   </li>
+   <li class="toc-h3 nav-item toc-entry">
+    <a class="reference internal nav-link" href="#csv-format-sepcific-options">
+     CSV Format Sepcific Options
+    </a>
+   </li>
+   <li class="toc-h3 nav-item toc-entry">
+    <a class="reference internal nav-link" 
href="#parquet-format-specific-options">
+     Parquet Format Specific Options
+    </a>
+   </li>
+  </ul>
+ </li>
+</ul>
+
+</nav>
+              </div>
+              
+              <div class="toc-item">
+                
+
+<div class="tocsection editthispage">
+    <a 
href="https://github.com/apache/arrow-datafusion/edit/main/docs/source/user-guide/sql/write_options.md";>
+        <i class="fas fa-pencil-alt"></i> Edit this page
+    </a>
+</div>
+
+              </div>
+              
+            
+          </div>
+          
+
+          
+          
+            
+          
+          <main class="col-12 col-md-9 col-xl-7 py-md-5 pl-md-5 pr-md-4 
bd-content" role="main">
+              
+              <div>
+                
+  <!---
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+<section id="write-options">
+<h1>Write Options<a class="headerlink" href="#write-options" title="Link to 
this heading">¶</a></h1>
+<p>DataFusion supports customizing how data is written out to disk as a result 
of a <code class="docutils literal notranslate"><span 
class="pre">COPY</span></code> or <code class="docutils literal 
notranslate"><span class="pre">INSERT</span> <span 
class="pre">INTO</span></code> query. There are a few special options, file 
format (e.g. CSV or parquet) specific options, and parquet column specific 
options. Options can also in some cases be specified in multiple ways with a 
set order of pre [...]
+<section id="specifying-options-and-order-of-precedence">
+<h2>Specifying Options and Order of Precedence<a class="headerlink" 
href="#specifying-options-and-order-of-precedence" title="Link to this 
heading">¶</a></h2>
+<p>Write related options can be specified in the following ways:</p>
+<ul class="simple">
+<li><p>Session level config defaults</p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">CREATE</span> <span class="pre">EXTERNAL</span> <span 
class="pre">TABLE</span></code> options</p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">COPY</span></code> option tuples</p></li>
+</ul>
+<p>For a list of supported session level config defaults see <a 
class="reference internal" href="#configs"><span class="xref 
myst">Configuration Settings</span></a>. These defaults apply to all write 
operations but have the lowest level of precedence.</p>
+<p>If inserting to an external table, table specific write options can be 
specified when the table is created using the <code class="docutils literal 
notranslate"><span class="pre">OPTIONS</span></code> clause:</p>
+<div class="highlight-sql notranslate"><div 
class="highlight"><pre><span></span><span class="k">CREATE</span><span 
class="w"> </span><span class="k">EXTERNAL</span><span class="w"> </span><span 
class="k">TABLE</span>
+<span class="n">my_table</span><span class="p">(</span><span 
class="n">a</span><span class="w"> </span><span class="nb">bigint</span><span 
class="p">,</span><span class="w"> </span><span class="n">b</span><span 
class="w"> </span><span class="nb">bigint</span><span class="p">)</span>
+<span class="n">STORED</span><span class="w"> </span><span 
class="k">AS</span><span class="w"> </span><span class="n">csv</span>
+<span class="n">COMPRESSION</span><span class="w"> </span><span 
class="k">TYPE</span><span class="w"> </span><span class="n">gzip</span>
+<span class="k">WITH</span><span class="w"> </span><span 
class="n">HEADER</span><span class="w"> </span><span class="k">ROW</span>
+<span class="k">DELIMITER</span><span class="w"> </span><span 
class="s1">&#39;;&#39;</span>
+<span class="k">LOCATION</span><span class="w"> </span><span 
class="s1">&#39;/test/location/my_csv_table/&#39;</span>
+<span class="k">OPTIONS</span><span class="p">(</span>
+<span class="n">CREATE_LOCAL_PATH</span><span class="w"> </span><span 
class="s1">&#39;true&#39;</span><span class="p">,</span>
+<span class="n">NULL_VALUE</span><span class="w"> </span><span 
class="s1">&#39;NAN&#39;</span>
+<span class="p">);</span>
+</pre></div>
+</div>
+<p>When running <code class="docutils literal notranslate"><span 
class="pre">INSERT</span> <span class="pre">INTO</span> <span 
class="pre">my_table</span> <span class="pre">...</span></code>, the options 
from the <code class="docutils literal notranslate"><span 
class="pre">CREATE</span> <span class="pre">TABLE</span></code> will be 
respected (gzip compression, special delimiter, and header row included). Note 
that compression, header, and delimiter settings can also be specified within t 
[...]
+<p>Finally, options can be passed when running a <code class="docutils literal 
notranslate"><span class="pre">COPY</span></code> command.</p>
+<div class="highlight-sql notranslate"><div 
class="highlight"><pre><span></span><span class="k">COPY</span><span class="w"> 
</span><span class="n">source_table</span>
+<span class="k">TO</span><span class="w"> </span><span 
class="s1">&#39;test/table_with_options&#39;</span>
+<span class="p">(</span><span class="n">format</span><span class="w"> 
</span><span class="n">parquet</span><span class="p">,</span>
+<span class="n">single_file_output</span><span class="w"> </span><span 
class="k">false</span><span class="p">,</span>
+<span class="n">compression</span><span class="w"> </span><span 
class="n">snappy</span><span class="p">,</span>
+<span class="s1">&#39;compression::col1&#39;</span><span class="w"> 
</span><span class="s1">&#39;zstd(5)&#39;</span><span class="p">,</span>
+<span class="p">)</span>
+</pre></div>
+</div>
+<p>In this example, we write the entirety of <code class="docutils literal 
notranslate"><span class="pre">source_table</span></code> out to a folder of 
parquet files. The option <code class="docutils literal notranslate"><span 
class="pre">single_file_output</span></code> set to false, indicates that the 
destination path should be interpreted as a folder to which the query will 
output multiple files. One parquet file will be written in parallel to the 
folder for each partition in the quer [...]
+</section>
+<section id="available-options">
+<h2>Available Options<a class="headerlink" href="#available-options" 
title="Link to this heading">¶</a></h2>
+<section id="copy-specific-options">
+<h3>COPY Specific Options<a class="headerlink" href="#copy-specific-options" 
title="Link to this heading">¶</a></h3>
+<p>The following special options are specific to the <code class="docutils 
literal notranslate"><span class="pre">COPY</span></code> command.</p>
+<table class="table">
+<thead>
+<tr class="row-odd"><th class="head"><p>Option</p></th>
+<th class="head"><p>Description</p></th>
+<th class="head"><p>Default Value</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>SINGLE_FILE_OUTPUT</p></td>
+<td><p>If true, COPY query will write output to a single file. Otherwise, 
multiple files will be written to a directory in parallel.</p></td>
+<td><p>true</p></td>
+</tr>
+<tr class="row-odd"><td><p>FORMAT</p></td>
+<td><p>Specifies the file format COPY query will write out. If 
single_file_output is false or the format cannot be inferred from the file 
extension, then FORMAT must be specified.</p></td>
+<td><p>N/A</p></td>
+</tr>
+</tbody>
+</table>
+</section>
+<section id="create-external-table-specific-options">
+<h3>CREATE EXTERNAL TABLE Specific Options<a class="headerlink" 
href="#create-external-table-specific-options" title="Link to this 
heading">¶</a></h3>
+<p>The following special options are specific to creating an external 
table.</p>
+<table class="table">
+<thead>
+<tr class="row-odd"><th class="head"><p>Option</p></th>
+<th class="head"><p>Description</p></th>
+<th class="head"><p>Default Value</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>SINGLE_FILE</p></td>
+<td><p>If true, indicates that this external table is backed by a single file. 
INSERT INTO queries will append to this file.</p></td>
+<td><p>false</p></td>
+</tr>
+<tr class="row-odd"><td><p>CREATE_LOCAL_PATH</p></td>
+<td><p>If true, the folder or file backing this table will be created on the 
local file system if it does not already exist when running INSERT INTO 
queries.</p></td>
+<td><p>false</p></td>
+</tr>
+<tr class="row-even"><td><p>INSERT_MODE</p></td>
+<td><p>Determines if INSERT INTO queries should append to existing files or 
append new files to an existing directory. Valid values are append_to_file, 
append_new_files, and error. Note that “error” will block inserting data into 
this table.</p></td>
+<td><p>CSV and JSON default to append_to_file. Parquet defaults to 
append_new_files</p></td>
+</tr>
+</tbody>
+</table>
+</section>
+<section id="json-format-specific-options">
+<h3>JSON Format Specific Options<a class="headerlink" 
href="#json-format-specific-options" title="Link to this heading">¶</a></h3>
+<p>The following options are available when writing JSON files. Note: If any 
unsupported option is specified, an error will be raised and the query will 
fail.</p>
+<table class="table">
+<thead>
+<tr class="row-odd"><th class="head"><p>Option</p></th>
+<th class="head"><p>Description</p></th>
+<th class="head"><p>Default Value</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>COMPRESSION</p></td>
+<td><p>Sets the compression that should be applied to the entire JSON file. 
Supported values are GZIP, BZIP2, XZ, ZSTD, and UNCOMPRESSED.</p></td>
+<td><p>UNCOMPRESSED</p></td>
+</tr>
+</tbody>
+</table>
+</section>
+<section id="csv-format-sepcific-options">
+<h3>CSV Format Sepcific Options<a class="headerlink" 
href="#csv-format-sepcific-options" title="Link to this heading">¶</a></h3>
+<p>The following options are available when writing CSV files. Note: if any 
unsupported options is specified an error will be raised and the query will 
fail.</p>
+<table class="table">
+<thead>
+<tr class="row-odd"><th class="head"><p>Option</p></th>
+<th class="head"><p>Description</p></th>
+<th class="head"><p>Default Value</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>COMPRESSION</p></td>
+<td><p>Sets the compression that should be applied to the entire CSV file. 
Supported values are GZIP, BZIP2, XZ, ZSTD, and UNCOMPRESSED.</p></td>
+<td><p>UNCOMPRESSED</p></td>
+</tr>
+<tr class="row-odd"><td><p>HEADER</p></td>
+<td><p>Sets if the CSV file should include column headers</p></td>
+<td><p>false</p></td>
+</tr>
+<tr class="row-even"><td><p>DATE_FORMAT</p></td>
+<td><p>Sets the format that dates should be encoded in within the CSV 
file</p></td>
+<td><p>arrow-rs default</p></td>
+</tr>
+<tr class="row-odd"><td><p>DATETIME_FORMAT</p></td>
+<td><p>Sets the format that datetimes should be encoded in within the CSV 
file</p></td>
+<td><p>arrow-rs default</p></td>
+</tr>
+<tr class="row-even"><td><p>TIME_FORMAT</p></td>
+<td><p>Sets the format that times should be encoded in within the CSV 
file</p></td>
+<td><p>arrow-rs default</p></td>
+</tr>
+<tr class="row-odd"><td><p>RFC3339</p></td>
+<td><p>If true, uses RFC339 format for date and time encodings</p></td>
+<td><p>arrow-rs default</p></td>
+</tr>
+<tr class="row-even"><td><p>NULL_VALUE</p></td>
+<td><p>Sets the string which should be used to indicate null values within the 
CSV file.</p></td>
+<td><p>arrow-rs default</p></td>
+</tr>
+<tr class="row-odd"><td><p>DELIMITER</p></td>
+<td><p>Sets the character which should be used as the column delimiter within 
the CSV file.</p></td>
+<td><p>arrow-rs default</p></td>
+</tr>
+</tbody>
+</table>
+</section>
+<section id="parquet-format-specific-options">
+<h3>Parquet Format Specific Options<a class="headerlink" 
href="#parquet-format-specific-options" title="Link to this heading">¶</a></h3>
+<p>The following options are available when writing parquet files. If any 
unsupported option is specified an error will be raised and the query will 
fail. If a column specific option is specified for a column which does not 
exist, the option will be ignored without error. For default values, see: <a 
class="reference external" 
href="https://arrow.apache.org/datafusion/user-guide/configs.html";>Configuration
 Settings</a>.</p>
+<table class="table">
+<thead>
+<tr class="row-odd"><th class="head"><p>Option</p></th>
+<th class="head"><p>Can be Column Specific?</p></th>
+<th class="head"><p>Description</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>COMPRESSION</p></td>
+<td><p>Yes</p></td>
+<td><p>Sets the compression codec and if applicable compression level to 
use</p></td>
+</tr>
+<tr class="row-odd"><td><p>MAX_ROW_GROUP_SIZE</p></td>
+<td><p>No</p></td>
+<td><p>Sets the maximum number of rows that can be encoded in a single row 
group</p></td>
+</tr>
+<tr class="row-even"><td><p>DATA_PAGESIZE_LIMIT</p></td>
+<td><p>No</p></td>
+<td><p>Sets the best effort maximum page size in bytes</p></td>
+</tr>
+<tr class="row-odd"><td><p>WRITE_BATCH_SIZE</p></td>
+<td><p>No</p></td>
+<td><p>Maximum number of rows written for each column in a single 
batch</p></td>
+</tr>
+<tr class="row-even"><td><p>WRITER_VERSION</p></td>
+<td><p>No</p></td>
+<td><p>Parquet writer version (1.0 or 2.0)</p></td>
+</tr>
+<tr class="row-odd"><td><p>DICTIONARY_PAGE_SIZE_LIMIT</p></td>
+<td><p>No</p></td>
+<td><p>Sets best effort maximum dictionary page size in bytes</p></td>
+</tr>
+<tr class="row-even"><td><p>CREATED_BY</p></td>
+<td><p>No</p></td>
+<td><p>Sets the “created by” property in the parquet file</p></td>
+</tr>
+<tr class="row-odd"><td><p>COLUMN_INDEX_TRUNCATE_LENGTH</p></td>
+<td><p>No</p></td>
+<td><p>Sets the max length of min/max value fields in the column 
index.</p></td>
+</tr>
+<tr class="row-even"><td><p>DATA_PAGE_ROW_COUNT_LIMIT</p></td>
+<td><p>No</p></td>
+<td><p>Sets best effort maximum number of rows in a data page.</p></td>
+</tr>
+<tr class="row-odd"><td><p>BLOOM_FILTER_ENABLED</p></td>
+<td><p>Yes</p></td>
+<td><p>Sets whether a bloom filter should be written into the file.</p></td>
+</tr>
+<tr class="row-even"><td><p>ENCODING</p></td>
+<td><p>Yes</p></td>
+<td><p>Sets the encoding that should be used (e.g. PLAIN or RLE)</p></td>
+</tr>
+<tr class="row-odd"><td><p>DICTIONARY_ENABLED</p></td>
+<td><p>Yes</p></td>
+<td><p>Sets if dictionary encoding is enabled. Use this instead of ENCODING to 
set dictionary encoding.</p></td>
+</tr>
+<tr class="row-even"><td><p>STATISTICS_ENABLED</p></td>
+<td><p>Yes</p></td>
+<td><p>Sets if statistics are enabled at PAGE or ROW_GROUP level.</p></td>
+</tr>
+<tr class="row-odd"><td><p>MAX_STATISTICS_SIZE</p></td>
+<td><p>Yes</p></td>
+<td><p>Sets the maximum size in bytes that statistics can take up.</p></td>
+</tr>
+<tr class="row-even"><td><p>BLOOM_FILTER_FPP</p></td>
+<td><p>Yes</p></td>
+<td><p>Sets the false positive probability (fpp) for the bloom filter. 
Implicitly sets BLOOM_FILTER_ENABLED to true.</p></td>
+</tr>
+<tr class="row-odd"><td><p>BLOOM_FILTER_NDV</p></td>
+<td><p>Yes</p></td>
+<td><p>Sets the number of distinct values (ndv) for the bloom filter. 
Implicitly sets bloom_filter_enabled to true.</p></td>
+</tr>
+</tbody>
+</table>
+</section>
+</section>
+</section>
+
+
+              </div>
+              
+              
+              <!-- Previous / next buttons -->
+<div class='prev-next-area'>
+    <a class='left-prev' id="prev-link" href="sql_status.html" title="previous 
page">
+        <i class="fas fa-angle-left"></i>
+        <div class="prev-next-info">
+            <p class="prev-next-subtitle">previous</p>
+            <p class="prev-next-title">Status</p>
+        </div>
+    </a>
+    <a class='right-next' id="next-link" href="../configs.html" title="next 
page">
+    <div class="prev-next-info">
+        <p class="prev-next-subtitle">next</p>
+        <p class="prev-next-title">Configuration Settings</p>
+    </div>
+    <i class="fas fa-angle-right"></i>
+    </a>
+</div>
+              
+          </main>
+          
+
+      </div>
+    </div>
+  
+    <script 
src="../../_static/scripts/pydata-sphinx-theme.js?digest=1999514e3f237ded88cf"></script>
+  <footer class="footer mt-5 mt-md-0">
+  <div class="container">
+    
+    <div class="footer-item">
+      <p class="copyright">
+    &copy; Copyright 2023, Apache Software Foundation.<br>
+</p>
+    </div>
+    
+    <div class="footer-item">
+      <p class="sphinx-version">
+Created using <a href="http://sphinx-doc.org/";>Sphinx</a> 7.2.5.<br>
+</p>
+    </div>
+    
+  </div>
+</footer>
+  </body>
+</html>
\ No newline at end of file

Reply via email to