Presto JDBC connection configuration in Talend Open Studio for Big Data

Highlighted
Five Stars

Presto JDBC connection configuration in Talend Open Studio for Big Data

Hi all,

 

I'm trying to configure a JDBC connection to a Presto cluster (v. 0.206) hosted on AWS and accessible from my network.

I've download prest-jdbc-0.206.jar from Presto website and added it to Talend Open Studio for Big Data.

JDBC driver installation was successful.

Then, I've used the following connection properties:

JDBC URL --> jdbcSmiley Tongueresto://<my_hostname>:8889/glue

Driver Class --> com.facebook.presto.jdbc.PrestoDriver

Username --> <my_username>

Password --> <my_password>

Mapping file --> Mapping Hive

 

When I click on Test Connection, I get the following error:

"Unrecognized connection property 'allowLocalInfile'"

Screenshot 2019-08-06 at 16.04.48.png

 

In the log file there is not much information..

 

!ENTRY org.talend.platform.logging 4 0 2019-08-06 15:45:08.251
!MESSAGE 2019-08-06 15:45:08,249 ERROR org.talend.components.jdbc.tjdbcinput.TJDBCInputProperties  - failed to retrieve the schema :

!STACK 0
org.talend.components.api.exception.ComponentException: SQL_ERROR:{message=Unrecognized connection property 'allowLocalInfile'}
	at org.talend.components.jdbc.CommonUtils.newComponentException(CommonUtils.java:588)
	at org.talend.components.jdbc.runtime.JDBCSourceOrSink.getSchemaFromQuery(JDBCSourceOrSink.java:207)
	at org.talend.components.jdbc.tjdbcinput.TJDBCInputProperties.afterFetchSchemaFromQuery(TJDBCInputProperties.java:266)
	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:498)
	at org.talend.daikon.properties.PropertiesDynamicMethodHelper.doInvoke(PropertiesDynamicMethodHelper.java:105)
	at org.talend.daikon.properties.PropertiesDynamicMethodHelper.afterProperty(PropertiesDynamicMethodHelper.java:234)
	at org.talend.daikon.properties.service.PropertiesServiceImpl.afterProperty(PropertiesServiceImpl.java:93)
	at org.talend.components.api.service.internal.osgi.ComponentServiceOsgi.afterProperty(ComponentServiceOsgi.java:142)
	at org.talend.designer.core.generic.model.GenericElementParameter$5.doWork(GenericElementParameter.java:324)
	at org.talend.designer.core.generic.model.GenericElementParameter$ComponentServiceCaller.call(GenericElementParameter.java:471)
	at org.talend.designer.core.generic.model.GenericElementParameter.callAfter(GenericElementParameter.java:337)
	at org.talend.designer.core.generic.model.GenericElementParameter.setValue(GenericElementParameter.java:151)
	at org.talend.designer.core.ui.editor.nodes.Node.setPropertyValue(Node.java:1979)
	at org.talend.designer.core.ui.editor.cmd.PropertyChangeCommand.execute(PropertyChangeCommand.java:260)
	at org.eclipse.gef.commands.CommandStack.execute(CommandStack.java:228)
	at org.talend.designer.core.ui.editor.properties.controllers.AbstractElementPropertySectionController.executeCommand(AbstractElementPropertySectionController.java:1191)
	at org.talend.designer.core.generic.controller.ButtonController.access$0(ButtonController.java:1)
	at org.talend.designer.core.generic.controller.ButtonController$1.widgetSelected(ButtonController.java:171)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:252)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4319)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1512)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1535)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1520)
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1324)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4143)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3760)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1173)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1062)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:636)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:563)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:151)
	at org.talend.rcp.intro.Application.start(Application.java:277)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
	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:498)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:595)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1501)
Caused by: java.sql.SQLException: Unrecognized connection property 'allowLocalInfile'
	at com.facebook.presto.jdbc.PrestoDriverUri.validateConnectionProperties(PrestoDriverUri.java:316)
	at com.facebook.presto.jdbc.PrestoDriverUri.<init>(PrestoDriverUri.java:95)
	at com.facebook.presto.jdbc.PrestoDriverUri.<init>(PrestoDriverUri.java:85)
	at com.facebook.presto.jdbc.PrestoDriver.connect(PrestoDriver.java:85)
	at java.sql.DriverManager.getConnection(DriverManager.java:664)
	at java.sql.DriverManager.getConnection(DriverManager.java:208)
	at org.talend.components.jdbc.runtime.JdbcRuntimeUtils.createConnection(JdbcRuntimeUtils.java:77)
	at org.talend.components.jdbc.runtime.JdbcRuntimeUtils.createConnectionOrGetFromSharedConnectionPoolOrDataSource(JdbcRuntimeUtils.java:206)
	at org.talend.components.jdbc.runtime.JDBCSource.connect(JDBCSource.java:68)
	at org.talend.components.jdbc.runtime.JDBCSourceOrSink.getSchemaFromQuery(JDBCSourceOrSink.java:199)
	... 49 more

Does anyone know what this particular error means?

I did not find any useful information on the Community site.

 

Any help is much appreciated!

 

Thanks,

Alessandro

Moderator

Re: Presto JDBC connection configuration in Talend Open Studio for Big Data

Hello,

We haven't met this error before.Does it need to enable LOAD DATA LOCAL INFILEin your Presto?

 

Are you able to connect your Presto cluster (v. 0.206) hosted on AWS through client without using talend tool?

Best regards

Sabrina

--
Don't forget to give kudos when a reply is helpful and click Accept the solution when you think you're good with it.
Five Stars

Re: Presto JDBC connection configuration in Talend Open Studio for Big Data

Hi,

There's no such option LOAD DATA LOCAL INFILE in Presto as far as I know.

I'm able to connect to Presto with DBeaver SQL Client, with Python and many
other tools.
Actually, Talend Open Studio for Big Data is the only one giving this
problem.

It is quite strange because it allows us to browse schemas and tables, but
it is not able to fetch tables metadata, thus it is not possible to create
a fully working job.

Regards,
Alessandro
Six Stars

Re: Presto JDBC connection configuration in Talend Open Studio for Big Data

@alollo  were you able to resolve it?

Five Stars

Re: Presto JDBC connection configuration in Talend Open Studio for Big Data

Nope... Smiley Sad

2019 GARNER MAGIC QUADRANT FOR DATA INTEGRATION TOOL

Talend named a Leader.

Get your copy

OPEN STUDIO FOR DATA INTEGRATION

Kickstart your first data integration and ETL projects.

Download now

What’s New for Talend Summer ’19

Watch the recorded webinar!

Watch Now

Best Practices for Using Context Variables with Talend – Part 2

Part 2 of a series on Context Variables

Blog

Best Practices for Using Context Variables with Talend – Part 1

Learn how to do cool things with Context Variables

Blog

Best Practices for Using Context Variables with Talend – Part 3

Read about some useful Context Variable ideas

Blog