csv - 什么格式适用于 Hive LazySimpleSerDe
问题描述
Hive 的格式到底是什么LazySimpleSerDe
?像 ParquetHiveSerDe 这样的格式告诉我 Hive 将以 parquet 格式读取 HDFS 文件。
但什么是LazySimpleSerDe
?鉴于 LazySimpleSerDe 是用于分隔文件的,为什么不将其称为类似CommaSepHiveSerDe
or的明确名称?TabSepHiveSerDe
解决方案
LasySimpleSerde
- 快速简单的 SerDe,它不识别引用的值,尽管它可以使用不同的分隔符,不仅是逗号,默认是 TAB ( \t
)。您可以STORED AS TEXTFILE
在表 DDL中指定LasySimpleSerDe
并将使用。对于引用值使用OpenCSVSerDe,它没有引用值那么快,LasySimpleSerDe
但可以正常工作。
LasySimpleSerDe 为了性能而简单,它也以一种惰性的方式创建对象,以提供更好的性能,这就是为什么在可能的情况下它是可取的(对于文本文件)。
使用管道分隔 ( |
) 文件格式查看此示例:https ://stackoverflow.com/a/68095278/2700344
show create table
此类表的命令会打印 serde 类,因为org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
STORED AS TEXTFILE 是一种快捷方式。
推荐阅读
- c# - 远程桌面上的远程调试
- android - 如果没有验证证明、会话信息或临时证明,则无法创建 PhoneAuthCredential。当我删除 firebase 用户时
- html - 为什么我的导航栏不像纵向滚动那样横向滚动?
- javascript - 我如何在 React 中实现输入更改的去抖动自动保存?
- drag-and-drop - 如何在 GraphicsScene 中的 GraphicsItem 中获取拖放事件?
- laravel - 如何在 PhpStorm 中运行终端命令作为启动任务?
- vue.js - Vueutify 导航抽屉 - 更改背景图像
- module - 为什么 Utop 对待这个 Ocaml 代码的方式不同
- swift - Swift - 在嵌入在选项卡栏中的导航控制器中重置 vc
- python - 在 Flask 中重定向页面时遇到问题