我們創建了兩個數據集語句DataFrame,sentenceDataFrame2,其中應該發生搜索替換。在Apache Spark中搜索並替換
sentenceDataFrame2存儲搜索和替換條款。我們還執行了所有11種類型的連接'inner','outer','full','fullouter','leftouter','left','rightouter','right','leftsemi','leftanti ','十字'他們沒有給我們結果。
您能否讓我們知道我們要去的地方錯誤和善意地指引我們走向正確的方向。
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());
輸入
阿倫jeevi普拉莫德·艾倫
sandesh阿姆斯特朗jeevi
戒Nischay得偉
期望輸出
的Apex工具集團jeevi普拉莫德的Apex工具集團
sandesh頂點工具集團jeevi
戒Nischay StanleyBlack
謝謝@Ivan Gozali 它完美地工作。 – Nischay