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 >>>>>>> >>>>>> >>>>> >>>> >>> >>
