You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Kuldeep (JIRA)" <ji...@apache.org> on 2015/01/27 13:37:34 UTC

[jira] [Created] (SPARK-5426) SchemaRDD is java incompatible

Kuldeep created SPARK-5426:
------------------------------

             Summary: SchemaRDD is java incompatible
                 Key: SPARK-5426
                 URL: https://issues.apache.org/jira/browse/SPARK-5426
             Project: Spark
          Issue Type: Bug
          Components: SQL
    Affects Versions: 1.3.0
            Reporter: Kuldeep
            Priority: Blocker


Here is a sample junit test for JavaApplySchemaSuite.java

{code:title=JavaApplySchemaSuite.java|borderStyle=solid}
  @Test
  public void schemaRDDOperations() {
    List<Person> personList = new ArrayList<Person>(2);
    Person person1 = new Person();
    person1.setName("Michael");
    person1.setAge(29);
    personList.add(person1);
    Person person2 = new Person();
    person2.setName("Yin");
    person2.setAge(28);
    personList.add(person2);

    JavaRDD<Row> rowRDD = javaCtx.parallelize(personList).map(
            new Function<Person, Row>() {
              public Row call(Person person) throws Exception {
                return RowFactory.create(person.getName(), person.getAge());
              }
            });

    List<StructField> fields = new ArrayList<StructField>(2);
    fields.add(DataTypes.createStructField("name", DataTypes.StringType, false));
    fields.add(DataTypes.createStructField("age", DataTypes.IntegerType, false));
    StructType schema = DataTypes.createStructType(fields);

    SchemaRDD schemaRDD = javaSqlCtx.applySchema(rowRDD.rdd(), schema);
    schemaRDD.registerTempTable("people");
    Row[] actual = javaSqlCtx.sql("SELECT * FROM people").map(new Function<Row, String>() {

      public String call(Row row) {
        return row.getString(0)+"_"+row.getString(1);
      }
    }).collect();

    List<Row> expected = new ArrayList<Row>(2);
    expected.add(RowFactory.create("Michael_29"));
    expected.add(RowFactory.create("Yin_28"));

    Assert.assertEquals(expected, Arrays.asList(actual));
  }
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org