J'ai trouvé la réponse moi-même. Lorsque nous nous connectons avec berkeley db en utilisant
fileName = '/your/berkeley/file/path'
berkleyObject = bsddb3.btopen(fileName)
Il nous donne essentiellement un dictionnaire à parcourir contenant des données complètes par lequel nous pouvons créer dataframe en utilisant pandas géants
df = pandas.DataFrame(berkleyObject.items(),columns=['Key','value'])
et nous pouvons charger ces données cadre dans SqlContext de Spark
sparkDF = sparkSql.createDataFrame(df)
Je n'ai pas essayé de créer des données directement y de berkeley objet bsddb3 mais je suis sûr que cela fonctionnera aussi
sparkSql.createDataFrame(berkleyObject.items())
En tant que dataframe d'étincelle est distribué comme RDD donc toutes les requêtes Sql que nous faisons utilisera le traitement distribué des étincelles à savoir Il exécuter des requêtes parallèles sur tous les esclaves/travailleur nœuds. Seul l'attraper est l'objet Dictionnaire qui convertit le processus en objet DataFrame est trop lent. Je travaille toujours dessus.