从Cassandra-Spark连接器生成表

时间:2019-06-18 14:01:34

标签: python-3.x pyspark cassandra-2.0

我希望从Cassandra生成一个包含两列(sku_id,seo)的表。

我已经将Cassandra与Spark连接起来,并从Cassandra查询了一些信息。 “ seo”本身是具有多级键值的json格式。例如, 行[0] ['seo']的打印类似于:

{
  "text": {"ee":"PRECISION-TWEEZERS", "ff":"PRECISION-TWEEZERS"},
  "title":{"ee":"PRECISION TWEEZERS", "ff":"PRECISION TWEEZERS"},
  "keyword":{"ee":"<p></p>","ff":"."},
  "description":{"ee":"","ff":"."}
}
from cassandra.query import dict_factory
import json

session = cluster.connect("host_ip_address")
session.row_factory = dict_factory
rows = session.execute("SELECT sku_id, seo FROM skus LIMIT 20")

# test1 = rows[0]['seo']
# y = json.loads(test1)
# print(y['text'])
# test2 = y['text']
# print(test2['ee'])

预期结果包含两列,如下所示:

sku_id                   seo(seo only contains seo['text']['ee'])

12345                    PRECISION-TWEEZERS

12312                    PRECISION-TWEEZERS

12312                    PRECISION-TWEEZERS

并将其保存为csv文件

请让我知道这里是否有任何不清楚的地方。预先谢谢你

0 个答案:

没有答案