I created a connector following https://www.dremio.com/tutorials/how-to-create-an-arp-connector/
.
-
put
odps-jdbc-3.2.1.jar
to/opt/dremio/jars/3rdparty/
-
put
dremio-maxcompute-plugin-3.2.4-201906051751050278-1bcce62.jar
to/opt/dremio/jars/
Datasource is here.
MacomputeConf.java
file:
@SourceType(value = "MAXCOMPUTE", label = "Maxcompute")
public class MaxcomputeConf extends AbstractArpConf<MaxcomputeConf> {
private static final String ARP_FILENAME = "arp/implementation/maxcompute-arp.yaml";
private static final ArpDialect ARP_DIALECT =
AbstractArpConf.loadArpFile(ARP_FILENAME, (ArpDialect::new));
private static final String DRIVER = "com.aliyun.odps.jdbc.OdpsDriver";
However, it not work with error:
2020-07-10 11:25:13,710 [main] ERROR ROOT - Dremio is exiting. Failure while starting services.
java.lang.NoClassDefFoundError: com/dremio/exec/store/jdbc/dialect/DremioSqlDialect
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at com.dremio.common.scanner.persistence.ScanResult.getAnnotatedClasses(ScanResult.java:175)
at com.dremio.exec.catalog.ConnectionReaderImpl.getCandidateSources(ConnectionReaderImpl.java:89)
at com.dremio.exec.catalog.ConnectionReaderImpl.makeReader(ConnectionReaderImpl.java:70)
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 com.dremio.exec.catalog.ConnectionReader.of(ConnectionReader.java:69)
at com.dremio.dac.cmd.upgrade.Upgrade.run(Upgrade.java:242)
at com.dremio.dac.cmd.upgrade.Upgrade.run(Upgrade.java:183)
at com.dremio.dac.daemon.DremioDaemon.main(DremioDaemon.java:141)
Caused by: java.lang.ClassNotFoundException: com.dremio.exec.store.jdbc.dialect.DremioSqlDialect
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
... 13 common frames omitted