marcelopaesrech / presto-oracle Goto Github PK
View Code? Open in Web Editor NEWPresto Plugin for Oracle JDBC Connection
Presto Plugin for Oracle JDBC Connection
Presto 0.190 deprecates the recordsinkprovider leading to this:
Dec 07 21:35:15 den-devpresto-1.ci.neoninternal.org presto[112542]: java.lang.NoClassDefFoundError: com/facebook/presto/spi/connector/ConnectorRecordSinkProvider
0.189 adds support for decimal types
I'd also like to bring a PR in that imports VIEWS and sets the fetchsize higher.
I used this oracle plugin to create oracle connector for presto db. But i am facing performance issues. When i try to execute queries using presto cli 0.147 taking 40 to 45 seconds to display results . Any suggestions to decrease execution time ?
Thanks
Surendra
I just wanted to add a note that in the README.md you offer an example configuration.
The suggested URL format did not work for me:
connection-url=jdbc:oracle:thin://ip:port/database
When using this (replacing the IP, Port and Sevice Name) I received :
java.sql.SQLRecoverableException: IO Error: The Network Adapter could not establish the connection
I had to add the AT symbol like so:
connection-url=jdbc:oracle:thin:@//ip:port/database
With this, I used ojdbc6 version 11.2.0.3 as per the pom.
@marcelopaesrech will there be any updates for the latest Presto releases? Steve Jacobs - do you have code that supports 0.190? If so, I would appreciate it if you could create a new branch on your fork or send me a zip [email protected] , if not I'm going to have to write the updates myself, thanks in advance
Does this work with the latest versions of Presto or does it only work upto 0.147 version?
Hi @marcelopaesrech
I have setup prestosql-316 in my hadoop cluster now I need your plugin to query on oracle.
I have done all the steps that you have mentioned in readme file. But I'm unable to start the presto server.
getting error:
2019-07-26T17:54:00.794+0700 INFO main io.prestosql.server.PluginManager -- Loading plugin /bi20/presto/presto-server-316/plugin/oracle --
2019-07-26T17:54:00.798+0700 ERROR main io.prestosql.server.PrestoServer No service providers of type io.prestosql.spi.Plugin
java.lang.IllegalStateException: No service providers of type io.prestosql.spi.Plugin
at com.google.common.base.Preconditions.checkState(Preconditions.java:588)
at io.prestosql.server.PluginManager.loadPlugin(PluginManager.java:158)
at io.prestosql.server.PluginManager.loadPlugin(PluginManager.java:149)
at io.prestosql.server.PluginManager.loadPlugins(PluginManager.java:130)
at io.prestosql.server.PrestoServer.run(PrestoServer.java:125)
at io.prestosql.server.PrestoServer.main(PrestoServer.java:70)
2019-07-26T17:54:00.799+0700 INFO Thread-99 io.airlift.bootstrap.LifeCycleManager Life cycle stopping...
Hi,
I use presto oracle plugin.
I connect to the command line as below.
./presto --server localhost:8080 --catalog oracle --schema <schema_name>
presto:> select * from
;
Query failed (#20190815_072527_00068_iztjn): Multiple entries with same key: user_id=JdbcColumnHandle{connectorId=oracle, columnName=USER_ID, columnType=varchar} and user_id=JdbcColumnHandle{connectorId=oracle, columnName=USER_ID, columnType=varchar}
Is there anything wrong with the configuration?
env:
presto-server-0.147
presto-cli-0.147
hi I was not able to download the ojdbc6.jar through maven so i modifed the maven and build the jar. However I am getting following error while running the server.
modified pom.xml
<groupId>ojdbc6</groupId>
<artifactId>ojdbc6</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>./ojdbc6.jar</systemPath>
</dependency>
Error:
2) Error injecting constructor, java.lang.NoClassDefFoundError: oracle/jdbc/OracleDriver
at com.facebook.presto.plugin.oracle.OracleClient.<init>(OracleClient.java:61)
while locating com.facebook.presto.plugin.oracle.OracleClient
at com.facebook.presto.plugin.oracle.OracleClientModule.configure(OracleClientModule.java:34)
while locating com.facebook.presto.plugin.jdbc.JdbcClient
for the 1st parameter of com.facebook.presto.plugin.jdbc.JdbcMetadataFactory.<init>(JdbcMetadataFactory.java:27)
at com.facebook.presto.plugin.jdbc.JdbcModule.configure(JdbcModule.java:37)
while locating com.facebook.presto.plugin.jdbc.JdbcMetadataFactory
Caused by: java.lang.NoClassDefFoundError: oracle/jdbc/OracleDriver
at com.facebook.presto.plugin.oracle.OracleClient.<init>(OracleClient.java:61)
at com.facebook.presto.plugin.oracle.OracleClient$$FastClassByGuice$$f65e92c6.newInstance(<generated>)
at com.google.inject.internal.DefaultConstructionProxyFactory$FastClassProxy.newInstance(DefaultConstructionProxyFactory.java:89)
at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114)
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:306)
at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:62)
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:148)
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:39)
at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:42)
at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:65)
at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113)
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:306)
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:148)
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:39)
at com.google.inject.internal.InternalInjectorCreator.loadEagerSingletons(InternalInjectorCreator.java:211)
at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:182)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:109)
at com.google.inject.Guice.createInjector(Guice.java:87)
at io.airlift.bootstrap.Bootstrap.initialize(Bootstrap.java:241)
at com.facebook.presto.plugin.jdbc.JdbcConnectorFactory.create(JdbcConnectorFactory.java:71)
at com.facebook.presto.connector.ConnectorManager.createConnector(ConnectorManager.java:319)
at com.facebook.presto.connector.ConnectorManager.addCatalogConnector(ConnectorManager.java:195)
at com.facebook.presto.connector.ConnectorManager.createConnection(ConnectorManager.java:187)
at com.facebook.presto.connector.ConnectorManager.createConnection(ConnectorManager.java:173)
at com.facebook.presto.metadata.StaticCatalogStore.loadCatalog(StaticCatalogStore.java:96)
at com.facebook.presto.metadata.StaticCatalogStore.loadCatalogs(StaticCatalogStore.java:74)
at com.facebook.presto.server.PrestoServer.run(PrestoServer.java:119)
at com.facebook.presto.server.PrestoServer.main(PrestoServer.java:67)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.