摘要:我无法获得星火数据并将其写入BigQuery表。
详细信息:我正在Dataproc中运行一个无服务器的批处理作业,直接从BigQuery / Cloud读取数据,进行一些特性工程并将其保存在Bigquery上。然而,在一个例程中,我无法检索Dataframe,并指责:
22/10/08 08:13:21 WARN BigQueryDataSourceWriterInsertableRelation: It seems that 184 out of 16 partitions have failed, aborting
22/10/08 08:13:21 WARN BigQueryDirectDataSourceWriterContext: BigQuery Data Source writer aedb4dc8-28c5-4118-9dcc-de2ef689e75c aborted
不太确定,但我的星火配置似乎无法处理这个过程。我的配置是:
--properties spark.executor.instances=10,spark.driver.cores=16,spark.executor.cores=16
我的写作代码:
user_item_interaction_df.write.format("bigquery").option("writeMethod", "direct").mode("overwrite").save()
顺便说一句,我正在运行一些Joins和十字路口,我知道它们很昂贵。最终的输出表应该有33M左右。
任何想法都欢迎!
发布于 2022-10-15 02:45:28
从com.google.cloud.spark.bigquery.repackaged.io.grpc.StatusRuntimeException: RESOURCE_EXHAUSTED: Exceeds 'AppendRows throughput' quota, user_id: ... (status: INSUFFICIENT_TOKENS), you can issue a raise quota request through Google Cloud Console. Be sure to include this full error message in the request description. Entity: projects/...
错误判断(更多细节请参见GH问题 ),看来您的火花作业对BigQuery的打击太大了。
您可以尝试两种方法来解决这个问题:
spark.dynamicAllocation.maxExecutors=100
属性的执行程序的最大数量来限制作业的规模。注意,此属性的默认值是1000
。https://stackoverflow.com/questions/73995508
复制相似问题