第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我收到錯誤:使用 Kotlin 時 Apache Beam 中的 MapElements 轉(zhuǎn)換出現(xiàn)

我收到錯誤:使用 Kotlin 時 Apache Beam 中的 MapElements 轉(zhuǎn)換出現(xiàn)

蕪湖不蕪 2023-06-08 13:54:39
我正在探索Github上的 GoogleCloudPlatform 提供的 Apache Beam 數(shù)據(jù)流模板。特別是,我正在將PubSubToBigQuery模板從 Java 轉(zhuǎn)換為 Kotlin。通過這樣做,我在在線轉(zhuǎn)換中得到了一個Overload ambiguity resolution?error?。錯誤信息是:MapElements.input(...).via(...)274Error:(62, 22) Kotlin: Cannot choose among the following candidates without completing type inference:?public final fun <NewInputT : Any!> via(fn: ((input: BigQueryInsertError!) -> FailsafeElement<String!, String!>!)!): MapElements<BigQueryInsertError!, FailsafeElement<String!, String!>!>! defined in org.apache.beam.sdk.transforms.MapElementspublic final fun <NewInputT : Any!> via(fn: ((input: BigQueryInsertError!) -> FailsafeElement<String!, String!>!)!): MapElements<BigQueryInsertError!, FailsafeElement<String!, String!>!>! defined in org.apache.beam.sdk.transforms.MapElements相關(guān)的 Java 代碼片段是:/*? ? ?* Step 3 Contd.? ? ?* Elements that failed inserts into BigQuery are extracted and converted to FailsafeElement? ? ?*/? ? PCollection<FailsafeElement<String, String>> failedInserts =? ? ? ? writeResult? ? ? ? ? ? .getFailedInsertsWithErr()? ? ? ? ? ? .apply(? ? ? ? ? ? ? ? "WrapInsertionErrors",? ? ? ? ? ? ? ? MapElements.into(FAILSAFE_ELEMENT_CODER.getEncodedTypeDescriptor())? ? ? ? ? ? ? ? ? ? .via((BigQueryInsertError e) -> wrapBigQueryInsertError(e)))? ? ? ? ? ? .setCoder(FAILSAFE_ELEMENT_CODER);Kotlin 轉(zhuǎn)換如下所示:/*? ? ?* Step 3 Contd.? ? ?* Elements that failed inserts into BigQuery are extracted and converted to FailsafeElement?? ? ?*/val failedInserts: PCollection<FailsafeElement<String, String>> =? ? ? ? ? ? writeResult.failedInsertsWithErr? ? ? ? ? ? .apply(? ? ? ? ? ? ? ? "WrapInsertionErrors",? ? ? ? ? ? ? ? MapElements.into(FAILSAFE_ELEMENT_CODER.encodedTypeDescriptor)? ? ? ? ? ? ? ? ? ? .via { e: BigQueryInsertError -> wrapBigQueryInsertError(e) })? ? ? ? ? ? .setCoder(FAILSAFE_ELEMENT_CODER)我不知道如何解決這個問題。你能幫忙的話,我會很高興。
查看完整描述

1 回答

?
至尊寶的傳說

TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超10個贊

原因是 Java 和 Kotlin 的重載規(guī)則略有不同,這意味著在 Kotlin 中有兩個匹配的重載;

public <NewInputT> MapElements<NewInputT, OutputT> via(ProcessFunction<NewInputT, OutputT> fn)
public <NewInputT> MapElements<NewInputT, OutputT> via(SerializableFunction<NewInputT, OutputT> fn)

最簡單的解決方法是將 lambda 顯式指定為 aSerializableFunction以獲得正確的重載;

.via<BigQueryInsertError> (SerializableFunction { e: BigQueryInsertError -> wrapBigQueryInsertError(e) }))



查看完整回答
反對 回復(fù) 2023-06-08
  • 1 回答
  • 0 關(guān)注
  • 170 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號