-1
我想使用的BerkeleyDB与Hadoop和星火有任何指导/提供给多个节点的集群上运行Berkeley DB的教程(我有8个节点集群)使用的BerkeleyDB与Hadoop和星火
- 是它使用Berkeley存储BigData进行分析的正确选择?因为我想树像结构化数据库
- 有没有更好的选择?
我想使用的BerkeleyDB与Hadoop和星火有任何指导/提供给多个节点的集群上运行Berkeley DB的教程(我有8个节点集群)使用的BerkeleyDB与Hadoop和星火
我自己找到答案。 当我们连接时使用的Berkeley DB
fileName = '/your/berkeley/file/path'
berkleyObject = bsddb3.btopen(fileName)
它基本上使我们的字典遍历使用大熊猫
df = pandas.DataFrame(berkleyObject.items(),columns=['Key','value'])
,然后我们可以加载这些数据包含,使我们可以创建数据帧完整的数据帧到Spark的SqlContext
sparkDF = sparkSql.createDataFrame(df)
我还没有试过创建数据帧直接从伯克利bsddb3对象年,但我相信它会工作太
sparkSql.createDataFrame(berkleyObject.items())
火花的数据帧分布像RDD所以我们做出将利用火花的分布式处理的SQL查询,即它将运行查询平行的所有附属/工人节点。
sparkDF.registerTempTable("Data")
result = sparkSql.sql("SELECT * FROM Data WHERE Key == 'xxxx' ")
只有catch是把Dictionary对象转换成DataFrame对象的过程太慢了。我仍在努力。