You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "liuzhang (Jira)" <ji...@apache.org> on 2020/04/30 05:31:00 UTC

[jira] [Resolved] (SPARK-31576) Unable to return Hive data into Spark via Hive JDBC driver Caused by: org.apache.hive.service.cli.HiveSQLException: Error while compiling statement: FAILED

     [ https://issues.apache.org/jira/browse/SPARK-31576?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

liuzhang resolved SPARK-31576.
------------------------------
    Resolution: Fixed

override def quoteIdentifier(colName: String): String = s"$colName"

> Unable to return Hive data into Spark via Hive JDBC driver Caused by:  org.apache.hive.service.cli.HiveSQLException: Error while compiling statement: FAILED
> ------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: SPARK-31576
>                 URL: https://issues.apache.org/jira/browse/SPARK-31576
>             Project: Spark
>          Issue Type: Bug
>          Components: Spark Shell, Spark Submit
>    Affects Versions: 2.3.1
>         Environment: hdp 3.0,hadoop 3.1.1,spark 2.3.1
>            Reporter: liuzhang
>            Priority: Major
>
> I'm trying to fetch back data in Spark SQL using a JDBC connection to Hive. Unfortunately, when I try to query data that resides in every column I get the following error:
> Caused by: org.apache.hive.service.cli.HiveSQLException: Error while compiling statement: FAILED: SemanticException [Error 10004]: Line 1:7 Invalid table alias or column reference 'test.aname': (possible column names are: aname, score, banji)
>  at org.apache.hive.service.cli.operation.Operation.toSQLException(Operation.java:335)
>  at org.apache.hive.service.cli.operation.SQLOperation.prepare(SQLOperation.java:199)
> 1)  On Hive create a simple table,its name is "test",it have three column(aname,score,banji),their type both are "String"
> 2)important code:
> object HiveDialect extends JdbcDialect
> { override def canHandle(url: String): Boolean = url.startsWith("jdbc:hive2")|| url.contains("hive2")                                                                                                                    override def quoteIdentifier(colName: String): String = s"`$colName`" }
> -------------------------------------------------------------------
> object callOffRun {
>  def main(args: Array[String]): Unit =
> { val spark = SparkSession.builder().enableHiveSupport().getOrCreate() JdbcDialects.registerDialect(HiveDialect)                                                                                 val props = new Properties()                                                                                                          props.put("driver","org.apache.hive.jdbc.HiveDriver")                                  props.put("user","username")                                                         props.put("password","password")                                                           props.put("fetchsize","20")                                                                                                     val table=spark.read .jdbc("jdbc:hive2://xxxxxxxx:10000","test",props)                          table.show() }
> }
> 3)spark-submit ,After running,it have error
> Caused by: org.apache.hive.service.cli.HiveSQLException: Error while compiling statement: FAILED: SemanticException [Error 10004]: Line 1:7 Invalid table alias or column reference 'test.aname': (possible column names are: aname, score, banji)
> 4)table.count() have result 
> 5) I try some method to print result,They all reported the same error
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org