Итак, я пытаюсь загрузить DF на сервер HAD OOP HIve нашей компании. Используя следующую процедуру кодирования:
library(dbplyr)
library(dplyr)
library(DBI)
con <- dbConnect(odbc::odbc(), "HadoopCE_Hive")
dbWriteTable(conn= con, value = mtcars, name = Id(schema = "my_schema", table = "mtcars"))
И, к сожалению, я получаю следующую ошибку:
Error: nanodbc/nanodbc.cpp:1617: 42000: [Hortonworks][Hardy] (80) Syntax or semantic analysis error thrown in server while executing query. Error message from server: Error while compiling statement: FAILED: ParseException line 2:8 cannot recognize input near '?' ',' '?' in expression specification
<SQL> 'INSERT INTO `sch_analysts`.`mtcars` (`row_names`, `mpg`, `cyl`, `disp`, `hp`, `drat`, `wt`, `qsec`, `vs`, `am`, `gear`, `carb`)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)'
Однако я вижу, что таблица создана успешно, однако в ней нет данных. :
**glimpse(tbl(con, in_schema("my_schema", "mtcars")))**
Observations: ??
Variables: 12
Database: Hive 3.1.0.3.1.4.0-315[@Hive/HIVE]
$ mtcars.row_names <chr>
$ mtcars.mpg <dbl>
$ mtcars.cyl <dbl>
$ mtcars.disp <dbl>
$ mtcars.hp <dbl>
$ mtcars.drat <dbl>
$ mtcars.wt <dbl>
$ mtcars.qsec <dbl>
$ mtcars.vs <dbl>
$ mtcars.am <dbl>
$ mtcars.gear <dbl>
$ mtcars.carb <dbl>
Обычно мы загружаем файл через SFTP-соединение и загружаем оттуда данные, но я хотел бы использовать более экономящий время метод.
Заранее благодарю за помощь!