Glad could help :)

Kind regards
Arina

> On Apr 19, 2017, at 9:04 AM, Vignesh Kalai <[email protected]> 
> wrote:
> 
> Hi Arni,
>   What you said was right. When I changed TEMP environment variable and
> gave it a try it worked fine.
>       Thanks a Lot for the help :).
> Thanks and Regards,
> Vignesh K
> 
> On Tue, Apr 18, 2017 at 8:17 PM, Arina Yelchiyeva <
> [email protected]> wrote:
> 
>> Initially, for local udf pah Drill uses DRILL_TMP_DIR
>> + drill.exec.udf.directory.local and only if DRILL_TMP_DIR is unset,
>> drill.tmp-dir
>> + drill.exec.udf.directory.local.
>> By default for Windows, DRILL_TMP_DIR is set to %TEMP%.
>> My guess %TEMP% is incorrectly set on your environment to something like: "
>> C:\Users\mob140003207\AppData\Local\Temp;C:\Python27;" In your case it
>> should be set to %USERPROFILE%\AppData\Local\Temp.
>> Can you please check %TEMP% environment variable output? (in cmd echo
>> %TEMP%).
>> If my guess is correct, then it's better to modify it. You can do it in cmd
>> (set TEMP=%USERPROFILE%\AppData\Local\Temp but it will be for one session)
>> or in Advanced System Settings -> Environment variables -> User variables
>> (permanent). If using last option, please restart cmd after change.
>> 
>> Kind regards
>> Arina
>> 
>> On Tue, Apr 18, 2017 at 5:17 PM, Vignesh Kalai <
>> [email protected]> wrote:
>> 
>>> Hi Arina,
>>>    Thanks for the swift reply.
>>>     I changed by config as you stated and tried to run it but again it
>>> failed with below error.
>>> 
>>>   Caused by: java.lang.IllegalStateException: Local udf directory
>>> [C:\Users\mob140003207\AppData\Local\Temp;C:\
>>> Python27;\drill\udf\udf\local]
>>> must exist
>>> 
>>> Thanks and Regards,
>>> Vignesh K
>>> 
>>> On Tue, Apr 18, 2017 at 7:16 PM, Arina Yelchiyeva <
>>> [email protected]> wrote:
>>> 
>>>> Local UDF directory is created from: Drill temporary directory
>>>> + drill.exec.udf.directory.local.
>>>> Let's not override drill.exec.udf.directory.local but override drill
>>> temp.
>>>> 
>>>> Please try the following configuration:
>>>>        drill.exec: {
>>>>          cluster-id: "drillbits1",
>>>>          zk.connect: "localhost:2181",
>>>>          udf.directory.root: "/D:/apache-drill-1.10.0/conf",
>>>>          drill.tmp-dir: "/D:/apache-drill-1.10.0/conf"
>>>>        }
>>>> 
>>>> Kind regards
>>>> Arina
>>>> 
>>>> 
>>>> On Tue, Apr 18, 2017 at 4:30 PM, Vignesh Kalai <
>>>> [email protected]> wrote:
>>>> 
>>>>> Hi Arina,
>>>>>   I have also tried that but same error occurs. Please find by
>>>>> drill-override.config
>>>>> 
>>>>>        drill.exec: {
>>>>>          cluster-id: "drillbits1",
>>>>>          zk.connect: "localhost:2181",
>>>>>          udf.directory.root: "/D:/apache-drill-1.10.0/conf"
>>>>>          #udf.directory.root: "D:/apache-drill-1.10.0/conf",
>>>>>          #udf.directory.base: "D:/apache-drill-1.10.0/conf",
>>>>>          udf.directory.local:"udf",
>>>>>          #zk.root:"D:/apache-drill-1.10.0/conf"
>>>>>        }
>>>>>   The error which I got is as below
>>>>> 
>>>>>        DRILL_ARGS - " -u jdbc:drill:zk=local"
>>>>>        HADOOP_HOME not detected...
>>>>>        HBASE_HOME not detected...
>>>>>        Calculating Drill classpath...
>>>>>        Error: Failure in starting embedded Drillbit:
>>>>> java.lang.IllegalStateException: Local udf directory
>>>>> [C:\Users\mob140003207\AppData\Local\Temp;C:\Python27;\udf] must
>> exist
>>>>> (state=,code=0)
>>>>>        java.sql.SQLException: Failure in starting embedded Drillbit:
>>>>> java.lang.IllegalStateException: Local udf directory
>>>>> [C:\Users\mob140003207\AppData\Local\Temp;C:\Python27;\udf] must
>> exist
>>>>>                at
>>>>> org.apache.drill.jdbc.impl.DrillConnectionImpl.<init>(
>>>>> DrillConnectionImpl.java:131)
>>>>>                at
>>>>> org.apache.drill.jdbc.impl.DrillJdbc41Factory.newDrillConnection(
>>>>> DrillJdbc41Factory.java:72)
>>>>>                at
>>>>> org.apache.drill.jdbc.impl.DrillFactory.newConnection(
>>>>> DrillFactory.java:69)
>>>>>                at
>>>>> org.apache.calcite.avatica.UnregisteredDriver.connect(
>>>>> UnregisteredDriver.java:143)
>>>>>                at org.apache.drill.jdbc.Driver.
>>> connect(Driver.java:72)
>>>>>                at
>>>>> sqlline.DatabaseConnection.connect(DatabaseConnection.java:167)
>>>>>                at
>>>>> sqlline.DatabaseConnection.getConnection(
>> DatabaseConnection.java:213)
>>>>> 
>>>>>                at sqlline.Commands.connect(Commands.java:1083)
>>>>>                at sqlline.Commands.connect(Commands.java:1015)
>>>>>                at sun.reflect.NativeMethodAccessorImpl.
>> invoke0(Native
>>>>> Method)
>>>>>                at
>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(
>>>> NativeMethodAccessorImpl.java:
>>>>> 62)
>>>>>                at
>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(
>>>>> DelegatingMethodAccessorImpl.java:43)
>>>>>                at java.lang.reflect.Method.invoke(Method.java:497)
>>>>>                at
>>>>> sqlline.ReflectiveCommandHandler.execute(
>>> ReflectiveCommandHandler.java:
>>>> 36)
>>>>>                at sqlline.SqlLine.dispatch(SqlLine.java:742)
>>>>>                at sqlline.SqlLine.initArgs(SqlLine.java:528)
>>>>>                at sqlline.SqlLine.begin(SqlLine.java:596)
>>>>>                at sqlline.SqlLine.start(SqlLine.java:375)
>>>>>                at sqlline.SqlLine.main(SqlLine.java:268)
>>>>>        Caused by: java.lang.IllegalStateException: Local udf
>>> directory
>>>>> [C:\Users\mob140003207\AppData\Local\Temp;C:\Python27;\udf] must
>> exist
>>>>>                at
>>>>> com.google.common.base.Preconditions.checkState(
>>> Preconditions.java:197)
>>>>>                at
>>>>> org.apache.drill.exec.expr.fn.FunctionImplementationRegistry
>>>>> .getLocalUdfDir(FunctionImplementationRegistry.java:452)
>>>>>                at
>>>>> org.apache.drill.exec.expr.fn.FunctionImplementationRegistry.<init>(
>>>>> FunctionImplementationRegistry.java:123)
>>>>>                at
>>>>> org.apache.drill.exec.expr.fn.FunctionImplementationRegistry.<init>(
>>>>> FunctionImplementationRegistry.java:127)
>>>>>                at
>>>>> org.apache.drill.exec.server.DrillbitContext.<init>(
>>>>> DrillbitContext.java:95)
>>>>>                at
>>>>> org.apache.drill.exec.work.WorkManager.start(WorkManager.java:106)
>>>>>                at
>>>>> org.apache.drill.exec.server.Drillbit.run(Drillbit.java:119)
>>>>>                at
>>>>> org.apache.drill.jdbc.impl.DrillConnectionImpl.<init>(
>>>>> DrillConnectionImpl.java:122)
>>>>>                ... 18 more
>>>>>        apache drill 1.10.0
>>>>>        "json ain't no thang"
>>>>>        0: jdbc:drill:zk=local> !quit
>>>>> 
>>>>> Thanks and Regards,
>>>>> Vignesh K
>>>>> 
>>>>> On Tue, Apr 18, 2017 at 6:14 PM, Arina Yelchiyeva <
>>>>> [email protected]> wrote:
>>>>> 
>>>>>> Hi Vignesh,
>>>>>> 
>>>>>> In previous email thread David suggested to change:
>>>>>> udf.directory.root: "/C:/Temp/"
>>>>>> /C:/Temp/ is syntax that can be used on Windows [1].
>>>>>> 
>>>>>> Can you please try this variant?
>>>>>> 
>>>>>> [1] https://drill.apache.org/docs/dynamic-udfs/
>>>>>> 
>>>>>> Kind regards
>>>>>> Arina
>>>>>> 
>>>>>> 
>>>>>> On Tue, Apr 18, 2017 at 3:04 PM, Vignesh Kalai <
>>>>>> [email protected]> wrote:
>>>>>> 
>>>>>>> Hi Team,
>>>>>>>    This is in continuation to the mail I sent yesterday I didn't
>>>> know
>>>>>> how
>>>>>>> to reply to that. As Abhishek Girish stated I changed the udf
>> local
>>>>> path
>>>>>>> i.e.) udf.directory.local: "/udf"
>>>>>>> But still the error occured
>>>>>>> 
>>>>>>> *      Caused by: java.lang.IllegalStateException: Local udf
>>>> directory
>>>>>>> [C:\Users\vignesh\AppData\Local\Temp;C:\Python27;\udf] must
>> exist*
>>>>>>> 
>>>>>>> The directory is writable. If feel the issue is the root
>> directory
>>> is
>>>>>>> somewhere else from the directory the apache drill bin is. I also
>>>> tried
>>>>>>> changing *udf.directory.root:* and *udf.directory.base:* to
>>>> *C:\\apache
>>>>>>> *but
>>>>>>> that also did not solve the issue.
>>>>>>> 
>>>>>>> Thanks and Regards,
>>>>>>> Vignesh k
>>>>>>> 
>>>>>> 
>>>>> 
>>>> 
>>> 
>> 

Reply via email to