可以将PL/SQL可靠地转换为Pig Lating或使用Pig Latin和Hive的Oozie Pipeline

Mat*_*sen 1 hadoop plsql hive apache-pig oozie

我很想知道用Hadoop替换我的Oracle数据库并了解Hadoop生态系统.

我有很多PL/SQL脚本需要更换,如果我去这条路线.

我的印象是,通过一些努力,我可以将任何PL/SQL脚本转换/翻译成类似的Pig Latin脚本.如果不仅是Pig Latin,那么通过Oozie将Hive和Pig结合起来.

它是否正确?

Dav*_*oda 6

虽然大多数SQL语句都可以转换为等效的Pig和/或Hive语句,但是有一些限制是hadoop文件系统固有的传递给语言的限制.主要限制是HDFS是一次写入,多次读取的系统.这意味着包含UPDATE SQL命令或DELETE sql命令之类的语句将不起作用.这主要是因为两者都要求编程语言能够改变已经存在的文件的内容,这与hadoop的一次写入范例相矛盾.

然而,有一些解决方法.这些命令都可以通过复制有问题的文件进行模拟,并在写入副本,删除原件以及将副本移动到原始位置时进行更改.猪和Hive都没有这个功能,所以你必须稍微分支出这些语言才能这样做.例如,几行bash可能会在猪脚本执行后处理副本的删除和移动.鉴于您可以使用bash首先调用pig脚本,这允许一个相当简单的解决方案.或者您可以查看HBase,它提供了执行类似操作的能力.然而,这两个解决方案都涉及Pig/Hive之外的事情,所以如果你绝对不能超出这些语言,答案就是否定.