RJDBC パッケージを使用して Hive に接続しています。
library(rJava)
library(RJDBC)
-
-
-
conn <- dbConnect(drv, "jdbc:hive2://ip:port","***", "****")
接続したら、次のコマンドを入力してテーブルのリストを表示します。
dbListTables(conn)
[1] "m_11" "m_12"
[3] "m_16" "m_18"
[5] "m_19" "m_20"
その他のコマンド
dbGetTables (conn, "m_11")
TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE REMARKS
1 report m_11 TABLE <NA>
しかし、テーブルを読みたいときに、「テーブルが見つかりません」というエラーが表示されます。
dbGetQuery(conn, "select * from m_11")
Error in .verify.JDBC.result(r, "Unable to retrieve JDBC result set for ", :
Unable to retrieve JDBC result set for select * from m_11 (Error while compiling statement: FAILED: SemanticException [Error 10001]: Line 1:14 Table not found 'm_11')
また、
d <- dbReadTable(conn, "m_11")
Error in .verify.JDBC.result(r, "Unable to retrieve JDBC result set for ", :
Unable to retrieve JDBC result set for SELECT * FROM "m_11" (Error while compiling statement: FAILED: ParseException line 1:14 cannot recognize input near '"m_11"' '<EOF>' '<EOF>' in join source)
次のコマンドを知りたい:
a) テーブル ie m_11 の読み方
b) 2 つのテーブル ie m_11 & m_12 を "Consm_ID" でマージする
Rでそれを行うための他の簡単な代替手段はありますか.