首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在aws胶水作业中重写couchbase查询超时?

如何在aws胶水作业中重写couchbase查询超时?
EN

Stack Overflow用户
提问于 2022-05-17 21:56:45
回答 1查看 142关注 0票数 2

我试图使用spark couchbase connector在aws胶水作业中运行Couchbase查询。我的查询是针对现有Couchbase桶的一个简单的N1Ql查询:

代码语言:javascript
复制
var queryResultRDD: RDD[CouchbaseQueryRow] = spark.sparkContext.couchbaseQuery(N1qlQuery.simple(CbN1qlQuery))    

如果我有一个长期运行的查询,我会收到以下错误消息:

代码语言:javascript
复制
Caused by: com.couchbase.client.java.error.QueryExecutionException: Timeout 1m15s exceeded
at com.couchbase.spark.connection.QueryAccessor$$anonfun$compute$1$$anonfun$apply$2$$anonfun$4.apply(QueryAccessor.scala:56)
at com.couchbase.spark.connection.QueryAccessor$$anonfun$compute$1$$anonfun$apply$2$$anonfun$4.apply(QueryAccessor.scala:53)
at rx.lang.scala.Observable$$anon$32.call(Observable.scala:1324)

1m15超时设置可能来自Couchbase's 75s default query timeout,因此我尝试对查询调用进行add the query timeout setting directly,希望它将覆盖默认的超时设置:

代码语言:javascript
复制
var queryResultRDD: RDD[CouchbaseQueryRow] = sc.couchbaseQuery(N1qlQuery.simple(CbN1qlQuery), "bucket-name", Some(Duration(130, SECONDS)))

将该持续时间降到不可能的低值(如1ms)会导致不同的查询超时错误。但是,如果我使持续时间更长,如上面所示,我仍然会收到相同的QueryExecutionException,其中超时仍然是1m15s。我还试图在Glue作业脚本中设置System属性:

代码语言:javascript
复制
System.setProperty("com.couchbase.env.timeout.queryTimeout", "1ms")

然而,我仍然收到相同的1m15s超时错误。我还尝试以相同的方式设置spark.couchbase.timeout.queryTimeout属性,并得到了相同的结果。我还尝试在sparkSession构建器中设置查询超时配置,但没有进行任何更改:

代码语言:javascript
复制
    val Spark = SparkSession
  .builder()
  .appName(DefaultName)
  .config("spark.couchbase.nodes", CbNodes)
  .config(s"spark.couchbase.bucket.$SourceBucketName", SourceBucketPassword)
  .config("spark.couchbase.username", SourceBucketUserName)
  .config("spark.couchbase.password", SourceBucketPassword)
  .config("spark.ssl.enabled", CbSslEnabled)
  .config("spark.ssl.keyStore", CbKeyStore)
  .config("spark.ssl.keyStorePassword", CbKeyStorePassword)
  .config("spark.couchbase.timeout.queryTimeout", "1ms")
  .getOrCreate()

如何覆盖这个1m15s查询超时设置?

EN

Stack Overflow用户

回答已采纳

发布于 2022-05-20 17:21:47

在查看了CouchbaseConfig class之后,我发现了配置应该是什么:

代码语言:javascript
复制
.config("com.couchbase.queryTimeout", "10")

其中,querytimeout值以ms为单位。

票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72281076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档