首页
/ Hive CSV Serde 技术文档

Hive CSV Serde 技术文档

2024-12-20 12:30:45作者:舒璇辛Bertina

1. 安装指南

1.1 下载 Jar 文件

首先,您需要下载包含 opencsv 库和 CSVSerde 的 Jar 文件。当前版本的 Jar 文件是 csv-serde-1.1.3-1.2.1-all.jar,您可以通过以下命令下载:

wget https://drone.io/github.com/ogrodnek/csv-serde/files/target/csv-serde-1.1.3-1.2.1-all.jar

1.2 添加 Jar 文件到 Hive

将下载的 Jar 文件添加到 Hive 中:

add jar path/to/csv-serde-1.1.3-1.2.1-all.jar;

1.3 构建项目

如果您需要自行构建项目,可以使用 Maven 进行构建:

mvn package

这将生成一个基本的 Jar 文件以及一个包含 opencsv 的 "fat jar"。

1.4 Eclipse 支持

如果您使用 Eclipse 进行开发,可以通过以下命令生成 Eclipse 项目文件:

mvn eclipse:eclipse

2. 项目的使用说明

2.1 基本使用

在 Hive 中创建一个表并使用 CSVSerde 进行格式化:

create table my_table(a string, b string, ...)
  row format serde 'com.bizo.hive.serde.csv.CSVSerde'
  stored as textfile;

2.2 自定义格式

您可以自定义分隔符、引号和转义字符:

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;

默认的分隔符、引号和转义字符如下:

DEFAULT_ESCAPE_CHARACTER \
DEFAULT_QUOTE_CHARACTER  "
DEFAULT_SEPARATOR        ,

3. 项目 API 使用文档

3.1 创建表

使用 CSVSerde 创建表时,需要指定 row format serdecom.bizo.hive.serde.csv.CSVSerde,并可以自定义 serdeproperties

3.2 添加 Jar 文件

在 Hive 中使用 add jar 命令添加 csv-serde.jar 文件。

3.3 自定义属性

通过 serdeproperties 可以设置 separatorCharquoteCharescapeChar 等属性。

4. 项目安装方式

4.1 下载 Jar 文件

从项目提供的链接下载 csv-serde-1.1.3-1.2.1-all.jar 文件。

4.2 添加到 Hive

使用 add jar 命令将 Jar 文件添加到 Hive 中。

4.3 构建项目

使用 Maven 构建项目,生成 Jar 文件。

4.4 Eclipse 支持

通过 Maven 生成 Eclipse 项目文件,方便在 Eclipse 中进行开发。

5. 许可证

csv-serde 是开源项目,使用 Apache 2 许可证

登录后查看全文
热门项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
24
6
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
271
2.55 K
flutter_flutterflutter_flutter
暂无简介
Dart
561
125
fountainfountain
一个用于服务器应用开发的综合工具库。 - 零配置文件 - 环境变量和命令行参数配置 - 约定优于配置 - 深刻利用仓颉语言特性 - 只需要开发动态链接库,fboot负责加载、初始化并运行。
Cangjie
170
12
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
9
1
cangjie_runtimecangjie_runtime
仓颉编程语言运行时与标准库。
Cangjie
128
105
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
357
1.85 K
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
1.02 K
440
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.03 K
606
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
732
70