-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對象的過程太慢了。我仍在努力。