如何使用Spark在Hive中使用PL Sql?

时间:2016-04-15 04:06:45

标签: sql scala apache-spark

val hiveContext = new HiveContext(sc)

val s = hiveContext.sql("SELECT * FROM Test")

但是不知道如何在hive中使用PL SQL。请帮帮我。

2 个答案:

答案 0 :(得分:0)

在hivecontext.sql()中使用PL / SQL代码没有意义,因为它需要查询字符串而不是过程。 该方法返回一个新的数据帧,并且不会像PL / SQL代码中那样执行操作。 https://spark.apache.org/docs/1.3.0/api/java/org/apache/spark/sql/hive/HiveContext.html

答案 1 :(得分:0)

它显示the answer is "yes",我通过谷歌搜索" hive spark pl / sql"在大约20秒内找到。它有一个reference manual here

  

HPL / SQL是一个实现的开源工具(Apache License 2.0)   Apache Hive的程序性SQL语言, SparkSQL ,Impala以及   任何其他SQL-on-Hadoop实现,任何NoSQL和任何RDBMS。

     

HPL / SQL是一种可以理解的混合和异构语言   几乎所有现有的过程SQL方言的语法和语义,   并且您可以使用任何数据库,例如,运行现有数据库   Apache Hive和Microsoft SQL Server上的Oracle PL / SQL代码,或正在运行   Oracle,Cloudera Impala或Amazon Redshift上的Transact-SQL。

     

HPL / SQL   语言在很大程度上与Oracle PL / SQL,ANSI / ISO兼容   SQL / PSM(IBM DB2,MySQL,Teradata即),PostgreSQL PL / pgSQL(Netezza),   允许您的Transact-SQL(Microsoft SQL Server和Sybase)   利用现有的SQL / DWH技能和熟悉的实现方法   Hadoop上的数据仓库解决方案。它还有利于移民   Hadoop现有的业务逻辑。 HPL / SQL是一种有效的方法   在Hadoop中实现ETL过程