Wir haben zwei Datensatz SetDataFrame, sentenceDataFrame2 erstellt, wo Suche ersetzt werden soll.Suchen und Ersetzen in Apache Spark
sampleDataFrame2 speichert die Begriffe zum Suchen und Ersetzen.
Wir führten auch alle 11 Arten von Join "inner", "außen", "voll", "fouter", "links", "links", "rechts", "rechts", "links", "links" ',' cross 'keiner von ihnen gab uns das Ergebnis.
Können Sie uns bitte wissen Wohin wir gehen Falsch und Bitte zeigen Sie uns in die richtige Richtung.
List<Row> data = Arrays.asList(
RowFactory.create(0, "Allen jeevi pramod Allen"),
RowFactory.create(1,"sandesh Armstrong jeevi"),
RowFactory.create(2,"harsha Nischay DeWALT"));
StructType schema = new StructType(new StructField[] {
new StructField("label", DataTypes.IntegerType, false,
Metadata.empty()),
new StructField("sentence", DataTypes.StringType, false,
Metadata.empty()) });
Dataset<Row> sentenceDataFrame = spark.createDataFrame(data, schema);
List<Row> data2 = Arrays.asList(
RowFactory.create("Allen", "Apex Tool Group"),
RowFactory.create("Armstrong","Apex Tool Group"),
RowFactory.create("DeWALT","StanleyBlack"));
StructType schema2 = new StructType(new StructField[] {
new StructField("label2", DataTypes.StringType, false,
Metadata.empty()),
new StructField("sentence2", DataTypes.StringType, false,
Metadata.empty()) });
Dataset<Row> sentenceDataFrame2 = spark.createDataFrame(data2, schema2);
Dataset<Row> remainingElements=sentenceDataFrame.join(sentenceDataFrame2,sentenceDataFrame.col("label").equalTo(sentenceDataFrame2.col("label2")),"cross");
System.out.println("Left anti join count :"+remainingElements.count());
Eingang
Alle jeevi pramod All
sandesh Armstrong jeevi
harsha Nischay DeWALT
Erwartete Ausgabe
Apex Tool Group jeevi pramod Apex Tool Group
sandesh Apex Tool Group jeevi
harsha Nischay StanleyBlack
Danke @Ivan Gozali es funktionierte perfekt. – Nischay