2017-07-23 41 views
0

我想創建一個用scala編寫的flink項目。Flink scala項目取決於flink java項目,所以java地圖被調用而不是scala地圖

val someEventScalaStream = myScalaStreamm.map{x=>x.Part3} (it is using scala map function) 

,但我看到每個:

flink-connector-rabbitmq_2.11 
flink-connector-filesystem_2.11 
flink-clients_2.11 

他們都取決於「flink-當我進口

'flink-scala_2.11', 
'flink-streaming-scala_2.11' 
'flink-core', 

我可以運行像一個代碼

java'

所以當所有他們導入到我的解決方案項目是試圖使用Java版本&的地圖功能不編譯。

任何解決方案?

謝謝。

回答

1

java和scala的apis通常放在不同的包中。所以確保你使用正確的。例如。爲DataStream你有

的Java:

org.apache.flink.streaming.api.datastream.DataStream 

斯卡拉:

org.apache.flink.streaming.api.scala.DataStream 

在這種情況下,在Scala中,建議導入:

org.apache.flink.streaming.api.scala._ 

如果沒有護住問題可以發佈一個具體的例子,當一個java版本的map功能用於?

相關問題