2016-12-15 2 views
0

J'essaie de trouver un moyen rapide de faire une analyse d'affinité sur les données de panier de marché transactionnel avec quelques millions de lignes.Analyse de panier de marché dans R avec Hadoop

Ce que je l'ai fait jusqu'à présent:

  • créé un R Server sur le dessus de Spark & Hadoop sur un nuage (Azure HDInsight)
  • Données Loaded sur HDFS
  • commencer à utiliser RevoScaleR

Cependant, je suis resté coincé à la dernière étape. Si je comprends bien, je ne serai pas en mesure de traiter les données avec l'utilisation d'une fonction qui n'est pas fournie dans RevoScaleR.

Voici le code pour accéder aux données sur HDFS:

bigDataDirRoot <- "/basket" 
mySparkCluster <- RxSpark(consoleOutput=TRUE) 
rxSetComputeContext(mySparkCluster) 
hdfsFS <- RxHdfsFileSystem(hostName=myNameNode, port=myPort) 
inputFile <-file.path(bigDataDirRoot,"gunluk") 

Donc, mon infputFile est un fichier CSV dans un Azure Blob déjà créé/panier/Gunluk

gunluk_data <- RxTextData(file = inputFile,returnDataFrame = TRUE,fileSystem = hdfsFS) 

Après avoir exécuté ce, Je suis capable de voir les données en utilisant la tête (gunluk_data).

Comment puis-je réussir à utiliser gunluk_data avec arules fonctions de paquet. Est-ce possible? Si ce n'est pas le cas, est-il possible de traiter un fichier CSV qui est dans HDFS en utilisant des paquets R normaux (c'est-à-dire des arules)?

Répondre

0

Dans arules, vous pouvez utiliser read.transactions pour lire les données à partir de fichiers et write.PMML pour écrire des règles/ensembles d'éléments.