要結合Py + R
從pyspark。sql進口SparkSession
火花= SparkSession.builder.appName (CreateDataFrame) .getOrCreate ()
#創建一個示例DataFrame
data =[(“愛麗絲”,25),(“Bob”, 30),(“查理”,35),(“奧斯卡”,36),(Hiromi, 41),(“亞曆杭德羅”,42歲)
df =火花。createDataFrame(數據,[“名稱”,“年齡”])
顯示器(df)
和R
r %
安裝。包(“sparklyr version = " 1.8.0”)
庫(sparklyr)
#連接到同一個集群火花
sc < - spark_connect(主=“yarn-client version = " 1.8.0 "
)
但是我有錯誤
* * spark_connect_gateway誤差(gatewayAddress、gatewayPort sessionId:網關在localhost: 8880沒有回應。
嚐試運行
選項(sparklyr.log。控製台= TRUE)
緊隨其後的是
sc < - spark_connect (…)
更多的調試信息。一些(spark_connect_gateway誤差(gatewayAddress、gatewayPort sessionId:網關在localhost: 8880沒有回應)。* *
任何想法如何結合編程語言在磚的筆記本嗎?
@Oscar CENTENO莫拉:
結合Py和R磚的筆記本,你可以使用python %和%的魔法命令R
Python和R細胞之間切換。這裏有一個例子如何創建一個火花DataFrame在Python中,然後使用它在R:
從pyspark。sql進口SparkSession #創建一個火花會話火花= SparkSession.builder.appName (CreateDataFrame) .getOrCreate() #在Python中創建一個示例DataFrame data =[(“愛麗絲”,25),(“Bob”, 30),(“查理”,35),(“奧斯卡”,36),(Hiromi, 41),(“亞曆杭德羅”,42)]df =火花。createDataFrame(數據,[“名稱”,“年齡”])# Use the %python magic to switch to a Python cell %python # Convert the Python DataFrame to an R DataFrame using sparklyr library(sparklyr) library(dplyr) sdf <- spark_dataframe(df) rdf <- sdf %>% invoke("toDF", "Name", "Age") # Use the %r magic to switch to an R cell %r # Print the R DataFrame print(rdf)
注意,sparklyr包必須安裝在R環境中使用install.packages ()
功能,如你的例子所示。同時,確保火花集群運行並可以從你的筆記本。