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