0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018 package org.apache.spark.ml.feature;
0019
0020 import java.util.Arrays;
0021 import java.util.List;
0022
0023 import org.junit.Assert;
0024 import org.junit.Test;
0025
0026 import org.apache.spark.SharedSparkSession;
0027 import org.apache.spark.api.java.JavaRDD;
0028 import org.apache.spark.sql.Dataset;
0029 import org.apache.spark.sql.Row;
0030
0031 public class JavaTokenizerSuite extends SharedSparkSession {
0032
0033 @Test
0034 public void regexTokenizer() {
0035 RegexTokenizer myRegExTokenizer = new RegexTokenizer()
0036 .setInputCol("rawText")
0037 .setOutputCol("tokens")
0038 .setPattern("\\s")
0039 .setGaps(true)
0040 .setToLowercase(false)
0041 .setMinTokenLength(3);
0042
0043
0044 JavaRDD<TokenizerTestData> rdd = jsc.parallelize(Arrays.asList(
0045 new TokenizerTestData("Test of tok.", new String[]{"Test", "tok."}),
0046 new TokenizerTestData("Te,st. punct", new String[]{"Te,st.", "punct"})
0047 ));
0048 Dataset<Row> dataset = spark.createDataFrame(rdd, TokenizerTestData.class);
0049
0050 List<Row> pairs = myRegExTokenizer.transform(dataset)
0051 .select("tokens", "wantedTokens")
0052 .collectAsList();
0053
0054 for (Row r : pairs) {
0055 Assert.assertEquals(r.get(0), r.get(1));
0056 }
0057 }
0058 }