【发布时间】:2017-06-09 10:24:55
【问题描述】:
需要删除该数据集中的第二行我是 apache spark 的新手,谁能帮我解决。 下面是代码:
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());
任何帮助表示赞赏。
【问题讨论】:
-
您想如何定义要删除的行?您是否希望所有元素都与所选行相同?你想通过一些索引来做吗?匹配某个参数的所有行?
-
以上示例我想删除第二行(“我希望 Java 可以使用案例类”)
-
所以你想要索引?即给每一行一个ID并按该ID删除?给每一行一个连续的 id (0,1,2) 可能会很昂贵。哈希(以及删除多个哈希的风险)是否足够好?
-
您是否需要除第 2 行以外的所有行并且所有标签都是唯一的?
-
是的,我想要除第 2 行以外的所有行,提前致谢。
标签: apache-spark apache-spark-sql apache-spark-mllib apache-spark-ml apache-spark-dataset