我正在将数据从oracle导入Hadoop,然后我想将这些数据保存到hive中。
将数据输入hadoop后要遵循的步骤是什么?
如何对摄取的数据进行数据清理或错误检查?
答案 0 :(得分:0)
您可以使用带有优化连接器Oraoop的sqoop直接从oracle提取数据到hive表。对于数据清理我假设您的意思是处理空值,如果是这种情况,您可以使用sqoop提供的不同选项,如
--null-string <null-string>
--null-non-string <null-string>
答案 1 :(得分:0)
您不需要自己动手(将数据导入hadoop然后转移到配置单元)
根据docs,
您只需在导入命令中添加--hive-import
。
更改配置表
默认情况下,Hive中使用的表名与源表的名称相同。您可以使用
--hive-table
选项控制输出表名称。
覆盖hive表
如果Hive表已经存在,您可以指定
--hive-overwrite
选项以指示必须替换配置单元中的现有表
@sachin提到了处理数据中的NULL值。您可以查看docs了解详情
我假设从&#34;数据清理&#34;你的意思是清理hadoop中的数据。
将数据导入HDFS或省略此步骤后,Sqoop将生成一个Hive脚本,其中包含使用Hive类型定义列的
CREATE TABLE
操作,以及用于移动数据文件的LOAD DATA INPATH
语句进入Hive的仓库目录。
将数据移至Hive。因此,临时HDFS位置没有数据。
Troubleshooting docs中提到了一些常见问题。您可以检查是否存在基本错误。