【发布时间】:2016-05-30 07:13:15
【问题描述】:
我想根据使用 Apache Drill 对 CSV 数据(在 HDFS 上)执行的查询结果创建一个 Spark SQL DataFrame。我成功配置了 Spark SQL,让它通过 JDBC 连接到 Drill:
Map<String, String> connectionOptions = new HashMap<String, String>();
connectionOptions.put("url", args[0]);
connectionOptions.put("dbtable", args[1]);
connectionOptions.put("driver", "org.apache.drill.jdbc.Driver");
DataFrame logs = sqlc.read().format("jdbc").options(connectionOptions).load();
Spark SQL 执行两个查询:第一个用于获取架构,第二个用于检索实际数据:
SELECT * FROM (SELECT * FROM dfs.output.`my_view`) WHERE 1=0
SELECT "field1","field2","field3" FROM (SELECT * FROM dfs.output.`my_view`)
第一个是成功的,但是在第二个中,Spark 将字段括在双引号中,这是 Drill 不支持的,因此查询失败。
有人设法使这种集成正常工作吗?
谢谢!
【问题讨论】:
标签: hadoop jdbc apache-spark apache-spark-sql apache-drill