SAP HANA VORA 和 Hana 连接

SAP HANA VORA and Hana CONNECTION

我想使用 SAP HANA Vora 从 Spark-shell 访问已经存在于 SAP HANA 中的 table。

我使用此命令创建了 table:

sqlContext.sql( s"""
    CREATE TABLE ztemptest 
    USING
      com.sap.spark.hana
    OPTIONS (
      path         "ztemptest",
      host         "${HANA_HOSTNAME}",
      dbschema     "${HANA_SCHEMA}",
      user         "${HANA_USERNAME}",
      passwd       "${HANA_PASSWORD}",
      instance     "${HANA_INSTANCE}"
    )
    """.stripMargin )

如果我执行 show table 命令,它会显示 table 名称,但是当我执行 sqlContext.sql("select * from ztemptest").show 时,我得到的错误是在下面的屏幕截图中看到

您还需要提供架构名称。

给出如下代码:

%vora 
CREATE TABLE TABLENAME 
USING com.sap.spark.hana
OPTIONS (
   path "HANATABLENAME",
   dbschema "SCHEMANAME",
   host "HANA SYSTEM HOST NAME",
   instance " INSTANCENUMBER",
   user "USERNAME",
   passwd "PASSWORD"
)

使用 HANA 数据源 (com.sap.spark.hana),您可以查询 HANA 中的现有 table 或在 HANA 中创建新的 table。如果要查询现有的 table,您可以提供 HANA table 的列+数据类型信息,也可以不提供。如果您不提供它,则会自动从 HANA 查询架构元数据。
该错误表明提供了架构信息(可能在较早的执行中),table 存在于 HANA 中,并且 Vora 中的架构信息与 HANA 中的 table 定义不匹配。
您能否删除现有的 table 定义(show tables 为空)并使用您发布的命令重新创建它(不提供列信息)。