2015-12-30 31 views
1
n = c(2, 3, 5) 
s = c("aa", "bb", "cc") 
b = c(TRUE, FALSE, TRUE) 
df = data.frame(n, s, b) 
ch <- odbcConnect("Drill") 
sqlSave(ch, df, tablename = "tblTest", rownames=FALSE, append=TRUE) 

使用R寫入數據幀到HDFS當我執行上面的代碼,它會拋出異常:通過鑽

Error in sqlSave(ch, df, tablename = "tblTest", rownames = FALSE, append = FALSE) : 
    HY000 1040 [MapR][Drill] (1040) Drill failed to execute the query: CREATE TABLE "tblTest" ("n" DOUBLE, "s" varchar(255), "b" varchar(255)) 
[30024]Query execution error. Details:[ 
ParseException: Encountered "\"" at line 1, column 14. 
Was expecting one of: 
    <IDENTIFIER> ... 
    <QUOTED_IDENTIFIER> ... 
    <BACK_QUOTED_IDENTIFIER> ... 
    <BRACKET_QUOTED_IDENTIFIER> ... 
    <UNICODE_QUOTED_IDENTIFIER> ... 

] 

我研究了很長的互聯網上,但仍然無法找到一個解決方案。有沒有人可以幫忙?謝謝。

回答

1

也許你應該看看rhdfs包? https://github.com/RevolutionAnalytics/rhdfs

+0

我試過rhdfs,但它不起作用。因爲我的R服務器不在hadoop集羣中。它位於Hadoop集羣外部的另一臺機器上。 – Gavin

+0

您應該在具有hadoop集羣的計算機上啓動HiveServer2,然後嘗試使用dplyr.spark.hive包連接到此服務器https://github.com/piccolbo/dplyr.spark.hive –