在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文件之间的实际区别是什么?
答案 0 :(得分:11)
SequenceFiles是一种二进制格式,用于将各个记录存储在自定义记录特定的数据类型中。此格式支持二进制表示中所有数据的精确存储,适用于存储二进制数据(例如,VARBINARY列),或者主要由自定义MapReduce程序操作的数据(从SequenceFiles读取的性能高于从文本文件中读取,因为不需要解析记录)。
Avro数据文件是一种紧凑的,高效的二进制格式,可提供与其他编程语言编写的应用程序的互操作性。 Avro还支持版本控制,因此当例如在表中添加或删除列时,可以处理先前导入的数据文件以及新的数据文件。
这是Doug Cutting自己的比较: