从 sqoop 的角度来看,将关系表导入为序列文件有什么区别-
sqoop import --connect connectionString \
--username userName –P --table tableName \
--as-sequencefile
并将其导入为 avrodata 文件,例如-
sqoop import --connect connectionString \
--username userName –P --table tableName \
--as-avrodatafile
序列文件和avrodata文件的实际区别是什么?
最佳答案
SequenceFiles 是一种二进制格式,以自定义记录特定数据类型存储单个记录。此格式支持以二进制表示形式精确存储所有数据,适用于存储二进制数据(例如,VARBINARY 列)或将主要由自定义 MapReduce 程序操作的数据(从 SequenceFiles 读取的性能高于从文本文件中读取,因为不需要解析记录)。
Avro 数据文件是一种紧凑、高效的二进制格式,可提供与以其他编程语言编写的应用程序的互操作性。 Avro 还支持版本控制,例如,当在表中添加或删除列时,以前导入的数据文件可以与新文件一起处理。
这是 Doug Cutting 自己的比较:
关于hadoop - 关于 Apache sqoop 的 Avrodata 文件和序列文件之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24236803/