Szukam przekonwertowania niektórych kodu R na Sparklyr, funkcje takie jak lmtest :: coeftest() i sandwich :: sandwich(). Próbując zacząć korzystać z rozszerzeń Sparklyr ale całkiem nowy interfejs API zapłonową i problemy :(Matrix Math With Sparklyr
Running Spark 2.1.1 i sparklyr 0.5.5-9002
Poczuj byłoby pierwszym krokiem do dokonania DenseMatrix obiektu korzystania z biblioteki linalg:
library(sparklyr)
library(dplyr)
sc <- spark_connect("local")
rows <- as.integer(2)
cols <- as.integer(2)
array <- c(1,2,3,4)
mat <- invoke_new(sc, "org.apache.spark.mllib.linalg.DenseMatrix",
rows, cols, array)
powoduje to błąd:
Error: java.lang.Exception: No matched constructor found for class org.apache.spark.mllib.linalg.DenseMatrix
Ok, więc mam java lang wyjątek, jestem całkiem pewny, że t on argumenty były w porządku w konstruktorze, ale nie jestem pewien co do ostatniego, który ma być java Array
. Więc próbowałem kilka permutacji:
array <- invoke_new(sc, "java.util.Arrays", c(1,2,3,4))
ale kończy się z podobnym komunikatem o błędzie ...
Error: java.lang.Exception: No matched constructor found for class java.util.Arrays
czuję jakbym czegoś brakuje dość podstawowe. Czy ktoś wie co jest grane?
odnośnie do twojej notatki, czy znasz jakieś zasoby do robienia tych rozszerzeń? Również wszelkie przewodniki pokazujące, jak wywoływać niestandardowe rozszerzenia z R? – Zafar
Przepraszam, nie jestem. Jest oczywiście [oficjalny iskrzący przewodnik] (http://spark.rstudio.com/extensions.html), ale nie sądzę, że jest to użyteczne. Ogólnie myślę, że to bardziej o projektowaniu interfejsu API. SparkR API to dobry przykład - z ciężką logiką zaimplementowaną w Scali i cienkimi, przyjaznymi dla Risa adapterami. – zero323
Bardzo doceniam twoje komentarze. Wygląda na to, że będziemy robić programowanie Scali. Wiem, że potrzebujemy metody liniowej algebry "rank", a 'linalg' jej nie ma. – Zafar