J'utilise sparklyr
pour effectuer des analyses, mais je suis également intéressé par l'écriture de requêtes SQL
brutes en utilisant DBI
.DBI/Spark: comment stocker le résultat dans une Spark Dataframe?
Je suis en mesure d'exécuter la requête suivante
query <- "SELECT col1, FROM mydata WHERE some_condition"
dataframe <- dbGetQuery(spark_connection, query)
mais renvoie les données dans R (dans un dataframe). Ce que je veux à la place est de conserver les données dans Spark et de les stocker dans une autre Spark Dataframe pour une interaction supplémentaire avec sparklyr
.
Des idées?
Le problème avec DBI est la mémoire. Vous ne serez pas en mesure d'aller chercher une énorme quantité de données avec ça. Si les résultats de vos requêtes renvoient une grande quantité de données, la mémoire du pilote de l'étincelle sera surchargée et les erreurs de mémoire seront insuffisantes ... Ainsi, si vous voulez l'utiliser pour renvoyer un petit jeu de données, vous n'avez pas besoin d'étincelle. – eliasah
non c'est le point. Je veux travailler sur des données Spark et garder les données en étincelle. Seulement plus tard, après quelques requêtes SQL plus, je vais tirer les données dans R. –
Puis DBI n'est pas la solution pour vous; vous devriez utiliser SparkR régulière si vous voulez coller avec R pour ce – eliasah