[ https://issues.apache.org/jira/browse/PHOENIX-1071?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14388868#comment-14388868 ]
ASF GitHub Bot commented on PHOENIX-1071: ----------------------------------------- Github user jmahonin commented on the pull request: https://github.com/apache/phoenix/pull/59#issuecomment-88176830 Thanks for the feedback @mravi , point comments below: 1: Right, I'll try get that sorted out. The original phoenix-spark library would not work with 1.7 for some reason, but that may no longer be the case. 2: Good catch. I think IntelliJ did something a little funny here on me, that file was supposed to be in the main hierarchy. 3 / 4: It's my first kick at extending Spark (and Phoenix for that matter), but the naming scheme and file separation was modelled off of DataStax' Spark-Cassandra connector, which I figured is as good a model as any: https://github.com/datastax/spark-cassandra-connector/tree/master/spark-cassandra-connector/src/main/scala/com/datastax/spark/connector In theory, doing it that way means a user can have just one import to get all the nice implicit definitions: `import org.apache.spark.phoenix._` 5: I've never had much luck with getting the Scala integration working well on any IDE, I just run 'mvn test' from the CLI. Re: Good to haves 1. I totally agree, but I don't think I can afford the cycles at the moment. My hope was that by modelling after the spark-cassandra-connector, it would be relatively painless to add for either a third party, or myself in the hopefully not-too-distant-future. 2. Great idea, I hadn't actually seen that usage with Spark SQL yet. We're still using the RDD API internally. On a quick glance it looks fairly straight-forward to implement. > Provide integration for exposing Phoenix tables as Spark RDDs > ------------------------------------------------------------- > > Key: PHOENIX-1071 > URL: https://issues.apache.org/jira/browse/PHOENIX-1071 > Project: Phoenix > Issue Type: New Feature > Reporter: Andrew Purtell > > A core concept of Apache Spark is the resilient distributed dataset (RDD), a > "fault-tolerant collection of elements that can be operated on in parallel". > One can create a RDDs referencing a dataset in any external storage system > offering a Hadoop InputFormat, like PhoenixInputFormat and > PhoenixOutputFormat. There could be opportunities for additional interesting > and deep integration. > Add the ability to save RDDs back to Phoenix with a {{saveAsPhoenixTable}} > action, implicitly creating necessary schema on demand. > Add support for {{filter}} transformations that push predicates to the server. > Add a new {{select}} transformation supporting a LINQ-like DSL, for example: > {code} > // Count the number of different coffee varieties offered by each > // supplier from Guatemala > phoenixTable("coffees") > .select(c => > where(c.origin == "GT")) > .countByKey() > .foreach(r => println(r._1 + "=" + r._2)) > {code} > Support conversions between Scala and Java types and Phoenix table data. -- This message was sent by Atlassian JIRA (v6.3.4#6332)