关于火花和雪花数据仓库,我有两个问题。
1)有什么方法可以查询/创建像hive / spark之类的雪花表(新旧版本的Spark)
val hive_tables=hiveContext.sql("show tables").foreach(println)
2)hiveContext.sql("create table....")
第一个问题是关于知道针对特定角色为该特定用户提供哪些表。我问问题的原因是通过雪花的Web ui,我可以查询表,但是通过spark我不能查询
Exception in thread "main" net.snowflake.client.jdbc.SnowflakeSQLException: SQL compilation error:
Object 'mytable' does not exist.
答案 0 :(得分:2)
您应该仔细检查JDBC连接设置中的数据库/模式/角色等内容。如果没有通过JDBC看到表,则其中一个可能是罪魁祸首。
您可以通过运行以下命令来验证当前设置:已建立的JDBC连接上的show roles
,show schemas
和show databases
。
通常,我强烈建议使用Spark-Snowflake连接器与Spark中的Snowflake通信。它还提供Utils.runQuery()
用于运行简单查询(如DDL)。