R in_模式返回2个列表,而不是tbl
我已连接到我们的数据库:R in_模式返回2个列表,而不是tbl,r,dplyr,dbplyr,R,Dplyr,Dbplyr,我已连接到我们的数据库: con <- dbConnect(odbc::odbc(), "myHive") con如果希望将表加载到R内存中(而不是远程使用),请使用mytbl%>%collect() 否则,我认为您看到的是一个标准的远程表。这不是_schema中的所特有的。如果您尝试类(mytbl),您应该会看到“tbl”是它的一个类 默认情况下,R不会将数据从远程表加载到内存中。要查看前几行,请尝试:mytbl%>%head() 您可以使用所有标准的dplyr命令操作该表。例如: r
con <- dbConnect(odbc::odbc(), "myHive")
con如果希望将表加载到R内存中(而不是远程使用),请使用mytbl%>%collect()
否则,我认为您看到的是一个标准的远程表。这不是_schema
中的所特有的。如果您尝试类(mytbl)
,您应该会看到“tbl”
是它的一个类
默认情况下,R不会将数据从远程表加载到内存中。要查看前几行,请尝试:mytbl%>%head()
您可以使用所有标准的dplyr命令操作该表。例如:
results=mytbl%>%
重命名(新名称=旧名称)%>%
变异(新列=2*旧列)%>%
分组依据(新列)%>%
摘要(数字=n())%>%
过滤器(数量>1000)
然后当您想在R中得到结果时:results=results%>%collect()
mytbl <- tbl(con, in_schema("mydb", "mytable"))
> str(mytbl)
List of 2
$ src:List of 2
..$ con :Formal class 'Hive' [package ".GlobalEnv"] with 4 slots
.. .. ..@ ptr :<externalptr>
.. .. ..@ quote : chr "`"
.. .. ..@ info :List of 13
.. .. .. ..$ dbname : chr "HIVE"
.. .. .. ..$ dbms.name : chr "Hive"
.. .. .. ..$ db.version : chr "1.2.2"
.. .. .. ..$ username : chr ""
.. .. .. ..$ host : chr ""
.. .. .. ..$ port : chr ""
.. .. .. ..$ sourcename : chr "gdHive"
.. .. .. ..$ servername : chr "Hive"
.. .. .. ..$ drivername : chr "Hortonworks Hive ODBC Driver"
.. .. .. ..$ odbc.version : chr "03.52"
.. .. .. ..$ driver.version : chr "2.6.1.1001"
.. .. .. ..$ odbcdriver.version : chr "03.80"
.. .. .. ..$ supports.transactions: logi FALSE
.. .. .. ..- attr(*, "class")= chr [1:3] "Hive" "driver_info" "list"
.. .. ..@ encoding: chr ""
..$ disco: NULL
..- attr(*, "class")= chr [1:3] "src_dbi" "src_sql" "src"
$ ops:List of 2
..$ x : 'ident_q' chr "mydb.mytable"
..$ vars: chr [1:188] "zzz1.order_id" "zzz1.row_id" "zzz1.order_ts" "zzz1.order_date" ...
..- attr(*, "class")= chr [1:3] "op_base_remote" "op_base" "op"
- attr(*, "class")= chr [1:4] "tbl_dbi" "tbl_sql" "tbl_lazy" "tbl"