Fair enough. I suggest that you write lots of unit tests of the form “assert 
that PigLatin statement X becomes Drill logical query Y” and we will be able to 
re-use those tests if we change the translator. (Good unit tests make 
well-defined components.)

On Oct 9, 2014, at 12:25 PM, Yash Sharma <[email protected]> wrote:

> Thanks for the tips Julian.  It would be great to see the whole heavy
> weight parsing at Optiq's end.
> 
> For now I think I should develop this current patch to have a basic
> PigLatin support inbuilt in Drill until Optiq's reinforcement comes in.
> 
> I will implement your solution along with aditya's solution for the other
> error and try to bring this patch to a cleaner state. I will post a clean
> review board request.
> Thoughts?
> 
> .
> 
> 
> On Thu, Oct 9, 2014 at 1:51 AM, Julian Hyde <[email protected]> wrote:
> 
>> On Oct 8, 2014, at 12:12 PM, Yash Sharma <[email protected]> wrote:
>> 
>>>> Have used couple of Hacks for it though:
>>>> - Downgrading Sqlline to 1.0.9 to get Jline 1.0 back (which is
>> compatible
>>>> with Pig) (to be fixed at Pig's end)
>> 
>> I have a solution to that one.
>> 
>> I encountered a very similar issue when I was trying to add an updated
>> sqlline into Hive. I created a fork of jline called jline2 that can
>> co-exist with jline. (Actually it’s just a re-packagaging with a different
>> maven artifactId.) And I created a version of sqlline that depends on it.
>> 
>> See https://github.com/julianhyde/hive/commits/sqlline-8 and
>> https://github.com/julianhyde/jline2.
>> 
>>>> Also added a note to Pig's JIRA:
>>>> https://issues.apache.org/jira/browse/PIG-3851
>>>> - Removed exec/jdbc-all module : Was throwing Obscufation Error
>>>> 
>>>> 
>>>> Couple of things done for now:
>>>> - extending the PigServer to expose the Pig's logical plan (Hacky for
>> now.
>>>> Need to find better solution)
>>>> - converting Pig logical plan to Drill logical plan using the
>>>> LogicalPlanBuilder
>>>> - Exposing via Drill Rest Interface
>>>> - Only supports Pig Load and Store operators for now.
>> 
>> At some point I plan to create a PigLatin front-end to Optiq (see
>> https://issues.apache.org/jira/browse/PIG-4107). Then it would be
>> straightforward to convert Optiq to Drill.
>> 
>> This would be much less hacky than what you propose above.
>> 
>> Julian

Reply via email to