2016-09-23 14 views
0

я извлечения данных из Neo4j с помощью Болт драйвера в Python языка. Возвращенный результат должен быть сохранен как RDD (или по крайней мере в CSV). Я могу видеть возвращенные результаты, но не могу сохранить его как RDD или Data, или по крайней мере в csv.Сохранить Neo4j Data Спарк RDD (или) DataFrame

Вот как я вижу результат:

session = driver.session() 
result = session.run('MATCH (n) RETURN n.hobby,id(n)') 
session.close()  

Здесь, как я могу хранить эти данные в РД или CSV файл.

ответ

0

Я удалил старый пост и отправил тот же вопрос. Но я не получил никаких указателей. Итак, я отправляю свой подход, чтобы он помогал другим.

''' 
Storing the return result into RDD 
''' 

session = driver.session() 
result = session.run('MATCH (n:Hobby) RETURN n.hobby AS hobby,id(n) As id LIMIT 10') 
session.close()  

''' 
Pulling the keys 
''' 
keys = result.peek().keys() 

''' 
Reading all the property values and storing it in a list 
''' 
values=list() 

for record in result: 
    rec= list() 
    for key in keys: 
     rec.append(record[key]) 
    values.append(rec) 

''' 
Converting list of values into a pandas dataframe 
''' 
df = DataFrame(values, columns=keys)  
print df 

''' 
Converting the pandas DataFrame to Spark DataFrame 
''' 
sqlCtx = SQLContext(sc) 
spark_df = sqlCtx.createDataFrame(df) 

print spark_df.show() 

''' 
Converting the Pandas DataFrame to SparkRdd (via Spark Dataframes) 
''' 
rdd = spark_df.rdd.map(tuple) 

print rdd.take(10) 

Любые предложения по повышению эффективности высоко оценены.

0

Вместо того чтобы идти от python к искры, почему бы не использовать Neo4j Spark connector? Я думаю, что это спасло бы питона от бутылочной горлышки, если бы вы перемещали много данных. Вы можете поместить свой запрос cypher внутри сеанса искры и сохранить его как RDD.

Сообщалось о слабой группе Neo4J о реализации pyspark, которая, мы надеемся, будет доступна позже этой осенью. Я знаю, что возможность запроса neo4j из pyspark и sparkr будет очень полезна.

+0

Я использую Python. Но Коннектор находится в Скале. –

 Смежные вопросы

  • Нет связанных вопросов^_^