关于数据管理架构的融合(二)接上文2.Vertica与Hadoop2.1.VerticaConnectorVertica提供VerticaConnector工具来实现与Hadoop的连接接口,其包括VerticaConnectorforMapReduce和VerticaConnectorforHDFS2.1.1.VerticaConnectorforMapReduce以下介绍VerticaConnectorforMapReduce的几种功能:从Hadoop中获取Vertica中的数据这种方式比较容易理解,直接通过简单的select语句将vertica中的数据抽出来,作为MapReduce任务的输入条件。而后,MapReduce任务对这些数据进行处理。从Hadoop中向Vertica中写入数据在MapReduce执行完成后,可以将结果数据直接通过VerticaConnector写入vertica数据库。首先需要定义写入的表结构(如下图),之后在Reduce函数中完成结果数据对mrtarget表的写入。使用HadoopStreaming与VerticaConnector集成除了标准的MapReduce之外,VerticaConnector还支持与HadoopStreaming集成,从vertica数据库为streaming任务提供数据输入,或者将streaming任务的结果数据存储在vertica数据库中。使用HadoopPig访问HPverticaVerticaConnector提供封装的接口Jar包,允许HadoopPIG访问Vertica,可以完成对于vertica数据库中数据的读与写。读取写入2.1.2.VerticaConnectorforHDFSVerticaConnectorforHDFS允许vertica数据库与HDFS之间通过多种方式进行数据交换。使用COPY命令直接加载HDFS上的数据到Vertica数据库中基于HDFS文件创建外部表(这点与GP比较像)VerticaConnectorforHDFS允许vertica用户使用Kerberos进行身份认证。2.3.HCatalogConnectorVerticaHCatalogConnector允许vertica将Hive数据仓库存储的数据当做vertica本地表一样进行访问。但是是只读的,不允许向Hive中写入数据。并且,由于Hive中的数据是存在HDFS分布式文件系统中,因此,vertica访问Hive中数据进行分析时,性能会比本地表打很大折扣。2.4.使用HDFS作为storage这个功能与GP很像,可以使用HDFS作为vertica内部存储数据的文件系统,类似GP,也有SET_OBJECT_STORAGE_POLICY的设置。不同的是,Vertica可以允许将分区表的部分分区迁移到HDFS上去存储。通常,将表的最近数据以分区为单位存储在Vertica本地存储,提高性能,而历史数据分区存储在HDFS上满足海量数据存储的需求。