Hi Rajesh,

Can you recheck the version and your code again?
I tried similar below code and its work fine (compiles and executes)...

  // Apply a schema to an RDD of Java Beans and register it as a table.
    JavaSchemaRDD schemaPeople = sqlCtx.applySchema(people, Person.class);
    schemaPeople.registerAsTable("people");

    // SQL can be run over RDDs that have been registered as tables.
    JavaSchemaRDD teenagers = sqlCtx.sql("SELECT * FROM people WHERE age >= 
13");

    // The results of SQL queries are SchemaRDDs and support all the normal RDD 
operations.
    // The columns of a row in the result can be accessed by ordinal.
    List<String> teenagerNames = teenagers.map(new Function<Row, String>() {
      public String call(Row row) {
        return "Name "+row.getString(1)+" - Age: " + row.getInt(0);
      }
    }).collect();
    for (String name: teenagerNames) {
        System.out.println(name);
      }


Can you try to replace Test.class with ANAInventory.class and check 

           JavaRDD<ANAInventory> retrdd = jrdd.map(f);
            
            JavaSchemaRDD schemaPeople = sqlCtx.applySchema(retrdd, Test.class);

However it should compile fine and may show issues while execution. Can you try 
with spark sql example and share the result?

Thanks,
Ravi

Date: Sat, 2 Aug 2014 18:36:26 +0530
Subject: Re: spark sql
From: mrajaf...@gmail.com
To: user@spark.apache.org

Hi Team,

Could you please help me to resolve above compilation issue.

Regards,
Rajesh


On Sat, Aug 2, 2014 at 2:02 AM, Madabhattula Rajesh Kumar <mrajaf...@gmail.com> 
wrote:

Hi Team,

I'm not able to print the values from Spark Sql JavaSchemaRDD. Please find 
below my code


             JavaSQLContext sqlCtx = new JavaSQLContext(sc);


            NewHadoopRDD<ImmutableBytesWritable, Result> rdd = new 
NewHadoopRDD<ImmutableBytesWritable, Result>(
                    JavaSparkContext.toSparkContext(sc),
                    TableInputFormat.class, ImmutableBytesWritable.class,


                    Result.class, conf);

            JavaRDD<Tuple2<ImmutableBytesWritable, Result>> jrdd = rdd
                    .toJavaRDD();

            ForEachFunction f = new ForEachFunction();


            
            JavaRDD<ANAInventory> retrdd = jrdd.map(f);
            
            JavaSchemaRDD schemaPeople = sqlCtx.applySchema(retrdd, Test.class);
            schemaPeople.registerAsTable("retrdd");


            
            JavaSchemaRDD teenagers = sqlCtx.sql("SELECT * FROM retrdd");
           
When i add below code. It is giving compilation issue. Could you please help me 
to resolve this issue.




List<String> teenagerNames = teenagers.map(new Function<Row, String>() {

      public String call(Row row) {
        return null;      }    }).collect();
    for (String name: teenagerNames) {
      System.out.println(name);
    }

Compilation issue :



The method map(Function<Row,R> in the type JavaSchemaRDD is not applicable for 
the arguments (new Functiona<Row, String>(){}) 




Thank you for your help

Regards,
Rajesh
 



 
                                          

Reply via email to