Trafodion之数据导入导出小结

经常会有一些初识Trafodion的人问到,Trafodion怎么实现数据的导入导出,有没有像Oracle imp/exp那样的导入导出工具?在此之前,我也写过好几篇关于Trafodion数据导入导出的文章,但都比较零散,因此想用这篇文章归结一下,希望能对大家有所帮助。

导出

Trafodion有多种导出方式,在此列举4种常用方式:

  1. 使用UNLOAD命令导出,参考博客:https://blog.csdn.net/Post_Yuan/article/details/53405224
    UNLOAD命令是Trafodion自带的SQL语法,使用UNLOAD命令可以简单快速地把表的数据导出到指定的HDFS目录,UNLOAD语法支持多种参数,比如设定导出文件的行分隔符、字符分隔符,导出前是否清空文件,导出文件是否压缩等。
  2. 使用ODB工具导出,参考博客:https://blog.csdn.net/Post_Yuan/article/details/78501731
    ODB工具是Trafodion提供的一款数据的ETL工具,基于ODBC,其使用比较简单,通过简单的命令行的方式可以实现数据的COPY/EXTRACT/LOAD。
  3. 使用HBase Snapshot导出,参考博客:https://blog.csdn.net/Post_Yuan/article/details/78830792
    由于Trafodion表底层即HBase表,Trafodion也继承了HBase的很多特性,如可以通过Snapshot的方式快速的导出表的数据。
  4. 使用DBVisualizer工具导出,关于配置DBVisualizer连接Trafodion可以参考博客:https://blog.csdn.net/Post_Yuan/article/details/52634062
    如果是用DBVisalizer工具,可以通过先使用SQL查询需要的数据,然后利用DBVisualizer自带的Export功能把结果集导出,此方法适用于结果集比较小的场景。

导入

Trafodion也支持多种导入方式,在此也列举4种常用方式:

  1. 创建Hive外表使用LOAD命令导入,参考博客:https://blog.csdn.net/Post_Yuan/article/details/52687628?locationNum=8&fps=1
    将要导入的文件上传到HDFS目录,创建相应的Hive外表指向文件,由于Trafodion可以直接访问Hive Metadata,所在在Trafodion层可以直接使用SELECT的方式查询到Hive表,这样便可以使用简单的LOAD INTO trafodion_table SELECT FROM hive_table的方式把数据从Hive表中加载到Trafodion表,此方式适用于数据量较大的场景,优点是导入速度快,缺点是需要额外创建Hive表结构,显得有些繁琐。*
  2. 使用ODB工具导入,参考博客:https://blog.csdn.net/Post_Yuan/article/details/70314534
    如上述所说,ODB可以不仅可以实现数据导出,也可以实现数据导入,只需要在ODB命令中指定导入的文件路径及目标表名,并指定相关的其他参数,即可轻易地实现数据的导入工作。
  3. 使用HBase snapshot导入,参考博客:https://blog.csdn.net/Post_Yuan/article/details/78830792
    如果正好是做一个集群到另外一个集群的数据迁移工作,使用HBase snapshot方式导出并不失为一种好的解决方案,使用snapshot的好处是不用担心数据中有什么特殊字符会导致导入失败。
  4. 使用DBVisualizer工具导入,需要破解DBVisualizer工具,可以参考博客:https://blog.csdn.net/post_yuan/article/details/70477856
    DBVisualizer的破解版本可以实现导入文件到指定表,不过如果文件比较大的时候性能不会很高,适用于小表导入。

猜你喜欢

转载自blog.csdn.net/post_yuan/article/details/80887080
今日推荐