val hiveContext = new HiveContext(sc)
val s = hiveContext.sql("SELECT * FROM Test")
但是不知道如何在hive中使用PL SQL。请帮帮我。
答案 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过程