下图描述了我们正在构建的简化的提取流程,以将数据从不同的RDBS提取到Hive。
第1步:使用JDBC连接到数据源,使用HDFS Java API传输源数据并将其保存在HDFS上的CSV文件中。 基本上,执行“ SELECT *”查询,并将每一行保存在CSV中,直到ResultSet用完为止。
第2步:使用LOAD DATA INPATH命令,使用在第1步中创建的CSV文件填充Hive表。
我们使用JDBC ResultSet.getString()获取列数据。 对于非二进制数据,这很好。
但是对于BLOC,CLOB类型的列,我们无法将列数据写入文本/ CSV文件。
我的问题是可以使用OCR或AVRO格式处理二进制列吗?这些格式是否支持逐行写入?
(更新:我们知道Sqoop / Nifi..etc技术,实现我们自定义摄取流的原因不在此问题的范围之内)