Skip to content

Latest commit

 

History

History
71 lines (60 loc) · 3.02 KB

sql-data-sources-text.md

File metadata and controls

71 lines (60 loc) · 3.02 KB
layout title displayTitle license
global
Text Files
Text Files
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.

Spark SQL provides spark.read().text("file_name") to read a file or directory of text files into a Spark DataFrame, and dataframe.write().text("path") to write to a text file. When reading a text file, each line becomes each row that has string "value" column by default. The line separator can be changed as shown in the example below. The option() function can be used to customize the behavior of reading or writing, such as controlling behavior of the line separator, compression, and so on.

{% include_example text_dataset scala/org/apache/spark/examples/sql/SQLDataSourceExample.scala %}
{% include_example text_dataset java/org/apache/spark/examples/sql/JavaSQLDataSourceExample.java %}
{% include_example text_dataset python/sql/datasource.py %}

Data Source Option

Data source options of text can be set via:

Property NameDefaultMeaningScope
wholetext false If true, read each file from input path(s) as a single row. read
lineSep \r, \r\n, \n (for reading), \n (for writing) Defines the line separator that should be used for reading or writing. read/write
compression (none) Compression codec to use when saving to file. This can be one of the known case-insensitive shorten names (none, bzip2, gzip, lz4, snappy and deflate). write
Other generic options can be found in Generic File Source Options.