数据开发纯小白,想问个问题

304 天前
 macvis

hdfs 可以存储文件对象,就是 jpg doc xls avi 这种纯文件,

hadoop 具有 hdfs 文件系统管理功能,

hive 则是 hadoop 的 hql 管理版增强包,

那么推论则是,hive 可以通过 hql 来管理 hdfs 内的文件对象

但是呢,我看 hive 的建表文件一定要有个分隔符,而且不管是 textfile 还是 sequencefile 都要有分隔符,要么逗号要么\001 ,那么 hive 在写入数据是一定会去解析文件吗?

换言之,如果我想用 hive 来实现文件对象的管理,就是用 hql 来查询文件对象,即 doc xls jpg 这种纯文件,hive 能实现吗

902 次点击
所在节点    程序员
9 条回复
liprais
304 天前
你要读 excel 自己写个 serde 就行了
hive 管理的是数据不是文件,jpg 你也可以当成数据,不过没啥意义
macvis
304 天前
@liprais 突然明白了,我不必拘泥于文件格式,写入读取时关注序列化与反序列化,要存取什么使用对应的 serde 就好了,对吧
Alias4ck
304 天前
你这种非结构化的数据 ,hive 是无法处理的,
对于传统的 RDBMS 处理这种数据的方式也是基本存储对应的文件路径,也不会直接解析二进制数据
你真的想在 hadoop 上存储这个的话 ,你可能需要的是 hbase 或者 es
不过主流方案也是存储它在 hdfs 上面的路径吧
rrfeng
304 天前
hdfs 是 ext4
hive 是 mysql

这样对比是不是容易理解了
macvis
304 天前
@rrfeng 这个我就秒懂了
macvis
304 天前
@Alias4ck 谢谢哈, 我去看看 hbase
rrfeng
304 天前
HBase 是 MongoDB 。

不如说一下你的原始需求
macvis
304 天前
@rrfeng 公司要搞一个数据中台,接入其他部门的数据,结构化的非结构化的都要存。
xue777hua
303 天前
可以实现 增加一个 udf 就行 用来解析文件

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/958872

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX