Buonasera a tutti,
Io sviluppo, usando come linguaggio di programmazione scala 2.12 . Sto studiando, per questo scopo, un framework che si chiama “Cats effect 3.0”. Programmazione funzionale. Visto che ho anche un po di familiarità con l'hyperscaler di Google: Google Cloud Platform, vorrei provare ad integrare cats effect sotto GCP. Per fare questo, uso un template che si chiama “Scio”, in particolare il template minimal, che è “WordCount”. Ecco il riferimento a github: https://github.com/spotify/scio/blob/main/scio-examples/src/main/scala/com/spotify/scio/examples/WordCount.scala nella mia versione però, ho dovuto customizzarlo, proprio per integrare cats, ma al momento non sono riuscito a farlo funzionare.
Questa la mia versione:
object StimaAccessi {
def main(args: Array[String]) : Unit = {
val pathSQLdump : String = ("/home/...fullPath.../auth.log");
val optionsFactory : org.
apache.
beam.
sdk.
options.
PipelineOptions = org.
apache.
beam.
sdk.
options.
PipelineOptionsFactory.create();
optionsFactory.setRunner(classOf[DataflowRunner]);
optionsFactory.as(classOf[GcpOptions]).setProject("XXX");
optionsFactory.as(classOf[DataflowPipelineOptions]).setRegion("europe-west2-b");
// optionsFactory.as(classOf[DataflowPipelineOptions]).setStaginglocation("gs://XXX");
val pipeline : org.
apache.
beam.
sdk.
Pipeline = org.
apache.
beam.
sdk.
Pipeline.
create(optionsFactory);
val sc : com.
spotify.
scio.
ScioContext = com.
spotify.
scio.
ScioContext(optionsFactory);
// val records : List[String] = Source.fromFile(SQLdump).getLines.toList;
val authGStorage = "gs://XXX";
val desinationGStorageDirectory = "gs://XXX";
sc.textFile(authGStorage).
map(_.trim).
flatMap(_.split("[^a-zA-Z']+").
filter(_.nonEmpty)).
countByValue.
map(t => t._1 + ": " + t._2).
saveAsTextFile(desinationGStorageDirectory);
sc.run().waitUntilFinish();
IO.println("");
// }.as(ExitCode.Success); //Chiude la run
}
println("Sono arrivato all'esterno della funzione main");
}//Chiude l'object
Ho intenzionalmente omesso tutti gli “import” per leggere un po piu leggibile il codice, ma il risultato della build è:
[error] (run-main-0) java.lang.VerifyError: Cannot inherit from final class
[error] java.lang.VerifyError: Cannot inherit from final class
Qualcuno ha idea di come risolvere per caso?
Grazie