首页 > 解决方案 > 逗号正在为列中的特定值生成单独的行,同时将表从 pyspark 集群导出到 BigQuery

问题描述

我正在使用下面的代码将 spark df 导出到 bigquery

gcs_bucket = 'main'
bq_dataset = 'table'
bq_table = 'user'

Rules.write \
  .format("bigquery") \
  .option("table","{}.{}".format(bq_dataset, bq_table)) \
  .option("temporaryGcsBucket", gcs_bucket) \
  .mode('overwrite') \
  .save()

下面是我在集群中得到的输出

+-----------+----------+-------------------+------------------+
| antecedent|consequent|         confidence|              lift|
+-----------+----------+-------------------+------------------+
|[19, 6, 39]|      [44]|  0.418945963975984|10.602038775664845|
|[19, 6, 39]|      [35]|0.47298198799199465| 7.423073393311932|
|[19, 6, 39]|     [322]|   0.47631754503002|4.6520592549063995|
|[19, 6, 39]|     [308]| 0.4496330887258172| 5.856259667533207|
|[19, 6, 39]|     [345]| 0.5196797865243495|5.4970336458402285|

将上述 df 导出到 bigquery 时,我得到以下格式的表格。这是为什么?我该如何解决?

在此处输入图像描述

标签: apache-sparkgoogle-cloud-platformpysparkgoogle-bigquerygoogle-cloud-dataproc

解决方案


根据您的输出,似乎antecedentandconsequent是数组或 python 列表。这些将转换为BigQuery 的数组


推荐阅读