Hadoop 关于ApacheSqoop,Avrodata文件和序列文件之间的差异

Hadoop 关于ApacheSqoop,Avrodata文件和序列文件之间的差异,hadoop,rdbms,sqoop,Hadoop,Rdbms,Sqoop,从sqoop的角度来看,将关系表作为序列文件导入(如- sqoop import --connect connectionString \ --username userName –P --table tableName \ --as-sequencefile sqoop import --connect connectionString \ --username userName –P --table tableName \ --as-avrodatafile 并将其作为a

从sqoop的角度来看,将关系表作为序列文件导入(如-

sqoop import --connect connectionString \  
--username userName  –P --table tableName \ 
--as-sequencefile
sqoop import --connect connectionString \  
--username userName  –P --table tableName \ 
--as-avrodatafile
并将其作为avrodata文件导入,如-

sqoop import --connect connectionString \  
--username userName  –P --table tableName \ 
--as-sequencefile
sqoop import --connect connectionString \  
--username userName  –P --table tableName \ 
--as-avrodatafile

sequence文件和avrodata文件之间的实际区别是什么?

sequence文件是一种二进制格式,以自定义记录特定的数据类型存储单个记录。此格式支持以二进制表示形式精确存储所有数据,适用于存储二进制数据(例如,VARBINARY列)或将由自定义MapReduce程序进行原则性操作的数据(从SequenceFile读取比从文本文件读取性能更高,因为不需要解析记录)

Avro数据文件是一种紧凑、高效的二进制格式,提供了与用其他编程语言编写的应用程序的互操作性。Avro还支持版本控制,以便在表中添加或删除列时,可以将以前导入的数据文件与新文件一起处理

下面是道格·切丁自己做的一个比较: