66 lines
1.6 KiB
Markdown
66 lines
1.6 KiB
Markdown
# Hive CSV Support
|
|
|
|
[![Build Status](https://drone.io/github.com/ogrodnek/csv-serde/status.png)](https://drone.io/github.com/ogrodnek/csv-serde/latest)
|
|
|
|
This SerDe adds *real* CSV input and ouput support to hive using the excellent [opencsv](http://opencsv.sourceforge.net/) library.
|
|
|
|
## Using
|
|
|
|
|
|
### Basic Use
|
|
|
|
```
|
|
add jar path/to/csv-serde.jar;
|
|
|
|
create table my_table(a string, b string, ...)
|
|
row format serde 'com.bizo.hive.serde.csv.CSVSerde'
|
|
stored as textfile
|
|
;
|
|
```
|
|
|
|
### Custom formatting
|
|
|
|
The default separator, quote, and escape characters from the `opencsv` library are:
|
|
|
|
```
|
|
DEFAULT_ESCAPE_CHARACTER \
|
|
DEFAULT_QUOTE_CHARACTER "
|
|
DEFAULT_SEPARATOR ,
|
|
```
|
|
|
|
You can also specify custom separator, quote, or escape characters.
|
|
|
|
```
|
|
add jar path/to/csv-serde.jar;
|
|
|
|
create table my_table(a string, b string, ...)
|
|
row format serde 'com.bizo.hive.serde.csv.CSVSerde'
|
|
with serdeproperties (
|
|
"separatorChar" = "\t",
|
|
"quoteChar" = "'",
|
|
"escapeChar" = "\\"
|
|
)
|
|
stored as textfile
|
|
;
|
|
```
|
|
|
|
## Files
|
|
|
|
The following include opencsv along with the serde, so only the single jar is needed. Currently built against Hive 0.11.0, but should be compatible with other hive versions.
|
|
|
|
* [csv-serde-1.1.2-0.11.0-all.jar](https://drone.io/github.com/ogrodnek/csv-serde/files/target/csv-serde-1.1.2-0.11.0-all.jar)
|
|
|
|
|
|
## Building
|
|
|
|
Run `mvn package` to build. Both a basic artifact as well as a "fat jar" (with opencsv) are produced.
|
|
|
|
### Eclipse support
|
|
|
|
Run `mvn eclipse:eclipse` to generate `.project` and `.classpath` files for eclipse.
|
|
|
|
|
|
## License
|
|
|
|
csv-serde is open source and licensed under the [Apache 2 License](http://www.apache.org/licenses/LICENSE-2.0.html).
|