Müssen zweite Zeile in diesem Datensatz löschen Ich bin neu in Apache Funke kann mir jemand helfen, zu lösen. unten ist der Code:Löschen von Zeilen in Apache Funke mit Java
public class DeleteRow {
public static void main(String[] args) {
System.setProperty("hadoop.home.dir", "C:\\winutils");
JavaSparkContext sc = new JavaSparkContext(new SparkConf().setAppName("JoinFunctions").setMaster("local[*]"));
SQLContext sqlContext = new SQLContext(sc);
SparkSession spark = SparkSession.builder().appName("JavaTokenizerExample").getOrCreate();
List<Row> data = Arrays.asList(
RowFactory.create(1,"Hi I heard about Spark"),
RowFactory.create(2,"I wish Java could use case classes"),
RowFactory.create(3,"Logistic,regression,models,are,neat"));
StructType schema = new StructType(new StructField[] {
new StructField("label", DataTypes.IntegerType, false,
Metadata.empty()),
new StructField("sentence", DataTypes.StringType, false,
Metadata.empty()) });
String ins = data.get(1).toString();
System.out.println(ins);
Dataset<Row> sentenceDataFrame = spark.createDataFrame(data, schema);
sentenceDataFrame.drop(data.get(1).toString());
Jede Hilfe sehr geschätzt.
Wie beurteilen Sie die Zeile Sie entfernen, definieren wollen? Möchten Sie, dass alle Elemente mit der ausgewählten Zeile übereinstimmen? willst du es durch eine Indexierung machen? alle Zeilen, die zu einem Parameter passen? –
Über Beispiele möchte ich die zweite Zeile entfernen ("Ich wünschte, Java könnte Fallklassen verwenden") –
Sie wollen also indexieren? d. h. jeder Zeile eine ID geben und mit dieser ID entfernen? Jede Reihe eine fortlaufende ID (0,1,2) zu geben, kann teuer sein. Wäre ein Hash (und das Risiko, mehr als einen zu entfernen) gut genug? –