Я хотел бы создать Spark SQL DataFrame из результатов запроса, выполненного над данными CSV (на HDFS) с помощью Apache Drill. Я успешно настроил Спарк SQL, чтобы сделать его подключения к Дрель через JDBC:Интеграция Spark SQL и Apache Drill через JDBC
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();
Спарк 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 не поддерживает, поэтому запрос не выполняется.
Неужели кому-то удалось заставить эту интеграцию работать?
Спасибо!
Это выглядит как Scala, но вопрос OP был в Java. – paisanco
Правда, я все же принимаю ответ, поскольку он указывает мне на JdbcDialect. Благодаря! –