Integrate Custom SQL Databases with Hue’s New Query Editors

Integrate Custom SQL Databases with Hue’s New Query Editors

In the latest Hue available in the master branch, we’re excited to offer a preview of our entirely revamped and redesigned query editors for Hive and Impala.  These query editors will be officially available in the next major Hue 3.10 release.

In this post, we’ll demonstrate one of the most powerful features of Hue’s new query editor, the ability to integrate it with any JDBC or Django-compatible database!

Integrating PostgreSQL, MySQL, Oracle and MySQL

Hue’s new query editor can easily be configured to work with any database backend that Django supports, including PostgreSQL, MySQL, Oracle and SQLite. Some of you may note that these are the same backends supported by Hue’s DBQuery app and in fact, adding a new query editor for these databases starts with the same configuration step.

First, in your hue.ini file, you will need to add the relevant database connection information under the librdbms section:

[librdbms]
  [[databases]]
    [[[postgresql]]]
    nice_name=PostgreSQL
    name=music
    engine=postgresql_psycopg2
    port=5432
    user=hue
    password=hue
    options={}

Secondly, we need to add a new interpreter to the notebook app. This will allow the new database type to be registered as a snippet-type in the Notebook app. For query editors that use a Django-compatible database, the name in the brackets should match the database configuration name in the librdbms section (e.g. – postgresql). The interface will be set to rdbms. This tells Hue to use the librdbms driver and corresponding connection information to connect to the database. For example, with the above postgresql connection configuration in the librdbms section, we can add a PostgreSQL interpreter with the following notebook configuration:

[notebook]
  [[interpreters]]
    [[[postgresql]]]
    name=PostgreSQL
    interface=rdbms

After updating the configuration and restarting Hue, we can access the new PostgreSQL interpreter in the Notebook app:

Notebook Snippets

Alternatively, we can bring up a PostgreSQL query editor by navigating to the URL path /notebook/editor?type=postgresql where the type query parameter is equal to the interpreter name we added in our configuration:

Editor URL

Notice that the left Assist panel has been update to reflect the “Postgresql SQL” data source, and the Databases list should display the available databases based on the configured connection. For interpreters that use the “rdbms” interface, the Assist panel supports drill-down on datasources, databases, tables, and columns, as well as fetching sample data for a given table or column.

Editor Assist

Additionally, the editor supports autocomplete functions that will suggest available database, table and column names as well as query syntax.

Editor Autocomplete

Integrating JDBC-compatible databases

The “rdbms” interface works great for MySQL, PostgreSQL, SQLite, and Oracle, but for other JDBC-compatible databases Hue now finally supports a “jdbc” interface to integrate such databases with the new query editor!

Integrating an external JDBC database involves a 3-step process:

  1. Download the compatible client driver JAR file for your specific OS and database. Usually you can find the driver files from the official database vendor site; for example, the MySQL JDBC connector for Mac OSX can be found here: https://dev.mysql.com/downloads/connector/j/. (NOTE: In the case of MySQL, the JDBC driver is platform independent, but some drivers are specific to certain OSes and versions so be sure to verify compatibility.)
  2. Add the path to the driver JAR file to your Java CLASSPATH. Here, we set the CLASSPATH environment variable in our `.bash_profile` script.
    # MySQL
    export MYSQL_HOME=/Users/hue/Dev/mysql
    export CLASSPATH=$MYSQL_HOME/mysql-connector-java-5.1.38-bin.jar:$CLASSPATH
    
  3. Add a new interpreter to the notebook app and supply the “name”, set “interface” to jdbc, and set “options” to a JSON object that contains the JDBC connection information. For example, we can connect a local MySQL database named “hue” running on `localhost` and port `8080` via JDBC with the following configuration:
    [notebook]
      [[interpreters]]
        [[[mysql]]]
        name=MySQL JDBC
        interface=jdbc
        options='{"url": "jdbc:mysql://localhost:3306/hue", "driver": "com.mysql.jdbc.Driver", "user": "root", "password": ""}'
    

TIP: Testing JDBC Configurations

💡 Before adding your interpreter’s JDBC configurations to hue.ini, verify that the JDBC driver and connection settings work in a SQL client like SQuirrel SQL.

TIP: Prompt for JDBC authentication

💡 You can leave out the username and password in the JDBC options, and Hue will instead prompt the user for a username and password. This allows administrators to provide access to JDBC sources without granting all Hue users the same access.

JDBC Auth Prompt

After updating the configuration and restarting Hue, we can access the new JDBC-based interpreter in the Notebook app:

Notebook Snippet Wheel

TIP: Multiple snippets in a Notebook

💡 As you may recall from previous posts, Hue supports multiple snippets with different types in a single Notebook so you can perform exploratory analysis and cross-validate queries across all your data sources in one place.

Multiple Snippet Types

Alternatively, we can bring it up in the query editor by navigating to the URL path /notebook/editor?type=mysql where the type query parameter is equal to the interpreter name we added in our configuration:

JDBC Assist

For most ANSI SQL-compliant databases, the Assist panel should display the Data Source, Databases, and a list of Tables and Autocomplete features will be available as well. However, the Assist panel and Autocomplete will not function for databases like Apache Phoenix, which don’t support the `SHOW DATABASES` and `SHOW TABLES` syntax.

NOTE: JDBC interface 1000 record limitation

❗️ Currently the JDBC interface does not support pagination of results. As such, Hue limits the result sets from JDBC data sources to 1000 records. We are working on lifting this restriction in an upcoming release.

Of course with both RDBMS and JDBC interfaces, you also get Hue’s built-in editor features to auto-format your queries, save queries, view your query history, and visualize/graph your results. We will continue to roll out further improvements and features to the query editor, to provide the best and most flexible yet powerful SQL on Hadoop experience bar none.

Driver URLs and Sample Configurations

We’ve provided links to JDBC client drivers and sample configurations for some of the most common JDBC-databases below.

SQLServer

Driver

Microsoft’s SQL Server JDBC drivers can be downloaded from the official site: Microsoft JDBC Driver

Sample Configuration
[[[sqlserver]]]
name=SQLServer JDBC
interface=jdbc
options='{"url": "jdbc:microsoft:sqlserver://localhost:1433", "driver": "com.microsoft.jdbc.sqlserver.SQLServerDriver", "user": "admin": "password": "pass"}'

Vertica

Driver

Vertica’s JDBC client drivers can be downloaded here: Vertica JDBC Client Drivers  Be sure to download the driver for the right version and OS.

Sample Configuration
[[[vertica]]]
name=Vertica JDBC
interface=jdbc
options='{"url": "jdbc:vertica://localhost:5433/example", "driver": "com.vertica.jdbc.Driver", "user": "admin", "password": "pass"}'

Phoenix

Driver

The Phoenix JDBC client driver is bundled with the Phoenix binary and source release artifacts, which can be downloaded here: Apache Phoenix Downloads  Be sure to use the Phoenix client driver that is compatible with your Phoenix server version.

Sample Configuration
[[[phoenix]]]
name=Phoenix JDBC
interface=jdbc
options='{"url": "jdbc:phoenix:localhost:2181/hbase", "driver": "org.apache.phoenix.jdbc.PhoenixDriver", "user": "", "password": ""}'

NOTE: Currently, the Phoenix JDBC connector for Hue only supports read-only operations (SELECT and EXPLAIN statements).

Presto

Driver

The Presto JDBC client driver is maintained by the Presto Team and can be downloaded here: https://prestodb.io/docs/current/installation/jdbc.html

Sample Configuration
[[[presto]]]
name=Presto JDBC
interface=jdbc
options='{"url": "jdbc:presto://localhost:8080/", "driver": "com.facebook.presto.jdbc.PrestoDriver"}'

Drill

The Drill JDBC driver can be used.

Sample Configuration
<pre class="pre codeblock"><code>[[[drill]]]
      name=Drill JDBC
      interface=jdbc
      ## Specific options for connecting to the server.
      ## The JDBC connectors, e.g. mysql.jar, need to be in the CLASSPATH environment variable.
      ## If 'user' and 'password' are omitted, they will be prompted in the UI.
      options='{"url": "<drill-jdbc-url>", "driver": "org.apache.drill.jdbc.Driver", "user": "admin", "password": "admin"}'</code>

 

Kylin

Driver

The Kylin JDBC client driver is maintained can be downloaded here: http://kylin.apache.org/download/. You can find a comprehensive guide on https://github.com/albertoRamon/Kylin/tree/master/KylinWithHue.

Sample Configuration
[[[kylin]]]
name=kylin JDBC
interface=jdbc
options='{"url": "jdbc:kylin://172.17.0.2:7070/learn_kylin","driver": "org.apache.kylin.jdbc.Driver", "user": "ADMIN", "password": "KYLIN"}'

When HS2, RDBMS, and JDBC Are Not Enough

If the built-in HiveServer2 (Hive, Impala, Spark SQL), RDBMS (MySQL, PostgreSQL, Oracle, SQLite), and JDBC interfaces don’t meet your needs, you can implement your own connector to the notebook app: Notebook Connectors. Each connector API subclasses the Base API and must implement the methods defined within; refer to the JdbcApi or RdbmsApi for representative examples.

Summary

Hue’s new query editors are a huge leap forward in enriching and unifying the SQL experience in Hue. We can’t wait for you to try it and look forward to your feedback on the hue-user list or @gethue!

62 Comments

  1. miaozhiyong 1 year ago

    is it support sql server now ?

  2. Ben 1 year ago

    For the Phoenix connector, do we still have to configure it even if we installed using Cloudera’s version of it in Cloudera Manager?

    • Hue Team 1 year ago

      Hi Ben,

      Yes, although installing Phoenix in CDH with the labs parcel will make it a lot easier, you still need to update Hue’s configuration with the phoenix interpreter type so that the editor will recognize it and use the JDBC connection.

  3. amine 12 months ago

    I ‘am using a docker image, I edited the hue.ini from bash but in the dbquery he don’t show me my db

    • Hue Team 12 months ago

      Are you editing the good ini file? You can see the one pointed by Hue on the /desktop/dump_config page

  4. Ray 12 months ago

    how can I use the RDBMS config like above?
    I’m using HUE 3.7 now and the hue.ini file show the part like this:
    # mysql, oracle, or postgresql configuration.
    [[[mysql]]]
    # Name to show in the UI.
    nice_name=”FMCM CMS Database”

    # For MySQL and PostgreSQL, name is the name of the database.
    # For Oracle, Name is instance of the Oracle server. For express edition
    # this is ‘xe’ by default.
    name=fmcm_cms

    # Database backend to use. This can be:
    # 1. mysql
    # 2. postgresql
    # 3. oracle
    engine=mysql

    # IP or hostname of the database to connect to.
    host=100.99.74.222

    # Port the database server is listening to. Defaults are:
    # 1. MySQL: 3306
    # 2. PostgreSQL: 5432
    # 3. Oracle Express Edition: 1521
    port=3306

    # Username to authenticate with when connecting to the database.
    user=thecover

    # Password matching the username to authenticate with when
    # connecting to the database.
    password=Thecover_2016

    # Database options to send to the server when connecting.
    # https://docs.djangoproject.com/en/1.4/ref/databases/
    options={“init_command”:”SET NAMES ‘utf8′”}

    • Hue Team 12 months ago

      Yes this looks correct. Which error do you see when you open DBQuery?

  5. Yandu 11 months ago

    Is there a trick to getting Hue to load jars found in $CLASSPATH env var? I keep getting complaints that it cannot find the appropriate driver even though `java -cp /u/hue/desktop/libs/librdbms/java-lib/dbproxy-1.0.jar:/u/drivers/presto-jdbc-0.147.jar:/u/drivers/mysql-connector-java-5.1.39/mysql-connector-java-5` is on the path.

    • Hue Team 11 months ago

      Could you “echo $CLASSPATH”?

      You probably need the .jar extension to all the jars

  6. Cathy 10 months ago

    I followed the instructions above to connect to my Phoenix server and am still having issues connecting.

    I have set my CLASSPATH to the location of the phoenix client jar and I have added the following to the interpreter section of the hue.ini file:

    [[[phoenix]]]
    name=Phoenix JDBC
    interface=jdbc
    options='{“url”: “jdbc:phoenix:zknode1,zknode2,zknod3:2181/hbase-unsecure”, “driver”: “org.apache.phoenix.jdbc.PhoenixDriver”, “user”: “”, “password”: “”}’

    When I run a query from the Notebook, I receive this error : An error occurred while trying to connect to the Java server: is the DB Proxy server running?

    What am I doing wrong?

    • Hue Team 10 months ago

      Do you see the log in the Hue output showing that the DB proxy server started? Did you try to connect to a MySql with a JDBC interface?

      If not maybe:
      https://github.com/cloudera/hue/pull/369

      • Ray 9 months ago

        are the JDBC client drivers function successfully for mysql in Notebook?

        my configuration related mysql as below:
        [[[mysql]]]
        name=MySql JDBC
        interface=jdbc
        options='{“url”: “jdbc:mysql://192.168.64.13:3306/fmcmspider”,”driver”: “com.mysql.jdbc.Driver”}’

        my hue related process running as below:
        hadoop 18898 1 0 Aug09 ? 00:00:58 /home/hadoop/hue-3.10.0/build/env/bin/python2.6 build/env/bin/supervisor
        hadoop 18910 18898 0 Aug09 ? 00:00:31 /home/hadoop/hue-3.10.0/build/env/bin/python2.6 /home/hadoop/hue-3.10.0/build/env/bin/hue runcherrypyserver
        hadoop 18978 18910 0 Aug09 ? 00:01:47 java -cp /home/hadoop/hue-3.10.0/desktop/libs/librdbms/java-lib/dbproxy-1.0.jar:/home/hadoop/mysql-connector-java-5.1.38-bin.jar:.:/usr/jdk1.8.0_73/lib/dt.jar:/usr/jdk1.8.0_73/lib/tools.jar com.cloudera.hue.dbproxy.DBProxy

        • Author
          Hue Team 9 months ago

          It looks good, don’t you get prompted for a username/password when you add the MySql JDBC snippet?

          • Ray 8 months ago

            yes I got prompted for a username/password , but still got the problem after input the value.

            UPDATE:
            after I add the id/pwd in hue.ini, like:
            options='{“url”: “jdbc:mysql://192.168.64.13:3306/fmcmspider”,”driver”: “com.mysql.jdbc.Driver”,”user”: “hadoop”, “password”: “hadoop”}’
            I can see all the databases stored in mysql and query all the data if I have access.

            But what I want is the authentication function, is it a bug for the Notebook?

          • Author
            Hue Team 8 months ago

            I looks like a bug. If I try to execute a snippet first it worked for me. Will look for the next release.

          • Ray 8 months ago

            thanks for response,could you pls let me know when will the next release will be ready and published?

          • Author
            Hue Team 8 months ago

            Here is the jira, it has the information: https://issues.cloudera.org/browse/HUE-4716

          • Ray 8 months ago

            I saw the release 3.11 published, is it already fixed the bug?

          • Author
            Hue Team 8 months ago

            Not yet, here is the jira that you can follow https://issues.cloudera.org/browse/HUE-4716

  7. wangzl 9 months ago

    is it support db2 ?

    • Author
      Hue Team 9 months ago

      Yes via JDBC

      • Ratna 3 weeks ago

        Can someone give a example of a Db2 configuration

        • Ratna 2 weeks ago

          Hue Tem, Can we have a example for Db2 JDBC connection via interpreters ?

          • Author
            Hue Team 2 weeks ago

            Could you share the configuration snippet you are using? Is should be the same as ‘MySQL JDBC’ unless there is something else.

          • Ratna 2 weeks ago

            The following configuration does not work after having the jdbc db2 driver installed

            [[[db2]]]
            name=DB2 JDBC
            interface=jdbc
            options='{“url”: “jdbc:db2://url”, “driver”: “com.ibm.db2.jcc.DB2Driver”, “user”: “userid”, “password”: “password”}’

          • Author
            Hue Team 2 weeks ago

            Is the DB2 jdbc driver in the CLASSPATH?

            Could also be added to Hue:
            [notebook]
            ## Classpath to be appended to the default DBProxy server classpath.
            dbproxy_extra_classpath=

          • Ratna 2 weeks ago

            Yes classpath is configured. However the error is due to the keyword “db2” in [[[]]]

            [[[db2]]]

          • Author
            Hue Team 1 week ago

            I am using Hue from master and its works. Did you put [[[db2]]] below [[interpreters]] ?

    • Ratna 2 weeks ago

      @wangzl: Were you ever able to get it working for Db2 ?

  8. xinwu246810 9 months ago

    Do you know how to “Spark Submit Python” or “Spark Submit Jar” through Hue Notbooks? Do you have an example? ThankYou!

    • Author
      Hue Team 9 months ago

      If Hue points to Livy it should work as is with the Spark submit snippet. http://gethue.com/spark/
      In next Hue the Oozie submission will be much easier to use https://issues.cloudera.org/browse/HUE-4247

      • xinwu246810 9 months ago

        I know how to submit PySpark snippet or Scala snippet with the Livy, but it is not clear how to submit Python file(pyfile) or Jar file. Do you know how to submit it? Can you give me an example?

        • Author
          Hue Team 9 months ago

          In Hue this would be with the ‘Spark Submit Jar’ or ‘Spark Submit Python’ snippets.

  9. Ray 9 months ago

    Is there any version required for mysql JDBC client drivers?
    when I test the JDBC connector to mysql (leave out the id/pwd), it’s stuck in Notebook for long time. But only show the database names after I add the id/pwd in hue.ini .

    ps: the id/pwd should by right because I can query the data when change the interface=rdbms.

    Please help, thanks!

  10. yanglc 8 months ago

    Hi there, I have two questions
    1) In the notebooks app, after executing one query in mysql database/postgres database, how can I download the result data as in the hive editor?
    2) In the notebooks app, using the mysql database, the plot function cannot find which columns to use, is it a bug?
    I just build from github on ubuntu lts
    thanks!

  11. Charlie 8 months ago

    Like other commenters, I too couldn’t get CLASSPATH to work. Hue 3.10.0 kept saying the driver could not be found.

    • Author
      Hue Team 8 months ago

      How about doing this change https://github.com/cloudera/hue/pull/369/files ?

      • Charlie 8 months ago

        I tried that and got an error that said just “CLASSPATH”.

      • Marica 6 months ago

        We’re getting the same error as Charlie. It just says ‘CLASSPATH’.

        Btw, we’re trying to configure phoenix on hue.

  12. SuperMan 6 months ago

    I try to config spark sql but failed:
    AttributeError: ‘NoneType’ object has no attribute ‘id’
    [13/Oct/2016 17:39:25 +0800] decorators ERROR error running
    Traceback (most recent call last):
    File “/hadoop/wanglch/hue-3.10.0/desktop/libs/notebook/src/notebook/decorators.py”, line 81, in decorator
    return func(*args, **kwargs)
    File “/hadoop/wanglch/hue-3.10.0/desktop/libs/notebook/src/notebook/api.py”, line 109, in execute
    response[‘handle’] = get_api(request, snippet).execute(notebook, snippet)
    File “/hadoop/wanglch/hue-3.10.0/desktop/libs/notebook/src/notebook/connectors/hiveserver2.py”, line 64, in decorator
    return func(*args, **kwargs)
    File “/hadoop/wanglch/hue-3.10.0/desktop/libs/notebook/src/notebook/connectors/hiveserver2.py”, line 196, in execute
    query = self._prepare_hql_query(snippet, statement[‘statement’], session)
    File “/hadoop/wanglch/hue-3.10.0/desktop/libs/notebook/src/notebook/connectors/hiveserver2.py”, line 527, in _prepare_hql_query
    properties = session[‘properties’]

    could you give me a link to config spark sql ?

  13. Miles Y. 6 months ago

    Is the new editor available in the latest CDH 5.8/5.9? The official Hue versions listed were hue-3.9.0+cdh5.8.3+2592 / hue-3.9.0+cdh5.9.0+3235.

    Was trying to turn on Notebook in our CDH 5.7.1 unsuccessfully. Looking for a reason to upgrade. If the Hue version in CDH 5.8/5.9 supports HBase/Phoenix query, that would be a strong sell to management.

    Thanks!

    • Author
      Hue Team 6 months ago

      New editor is available since C5.8 for Hive/Impala. We are looking at Phoenix in CDH for C6 (right now it might work but not officially supported in CDH).

  14. Nadir 5 months ago

    Hi, in the notebooks app, can we join tables issued from libdbms (oracle/mysql/…) with hive tables?
    Thanks a lot.

    • Author
      Hue Team 5 months ago

      No, the queries are sent to one specific database. You would need to export the data to Hive first.

  15. Chen S 5 months ago

    I tried adding Presto JDBC interpreter in the notebook section and I can use it in notebook snippet. However, I don’t see Presto JDBC popped up in the Sources assist panel. Is there something I missed? Presto supports both SHOW DATABASES and SHOW TABLES commands.

  16. Goutam Torvi 3 months ago

    Is there a way to restrict access to individual Snippets? If I have 2 databases, I need User1 to access DB1 and User2 to access DB2.

    Thanks.

    • Author
      Hue Team 3 months ago

      Not currently, permissions are at the Notebook level

  17. Goutam Torvi 3 months ago

    I tried adding Presto JDBC interpreter in the notebook section and I can use it in notebook snippet. However, I don’t see Presto JDBC popped up in the Sources assist panel. Is there something I missed? Presto supports both SHOW DATABASES and SHOW TABLES commands.

  18. RA 3 months ago

    Hello,

    I’m running the CDH 5.5 with Hue 3.9. I’ve added the following block to the hue.ini, however, when I pull up the DB Query in the UI I get this error:”Server error occured: ‘url’ is an invalid keyword argument for this function”. I’m guessing this feature only available in Hue 3.10+?

    Thanks

    [librdbms]
    [[databases]]
    [[[presto]]]
    name=Presto JDBC
    interface=jdbc
    options='{“url”: “jdbc:presto://localhost:8080/”, “driver”: “com.facebook.presto.jdbc.PrestoDriver”}’

    • Author
      Hue Team 3 months ago

      Yes, cf the tag 3.10 in the blog post

  19. Neel 3 months ago

    Does this editor work in Windows 7? I didn’t see any information about the supporting software for this IDE!

    • Author
      Hue Team 3 months ago

      Of course, you just need to use the latest Chrome browser 🙂

  20. sanket 2 months ago

    Got the download as CSV option enabled by CSS hacks but it says: (Hue™ 3.12.0)

    [01/Mar/2017 05:51:55 -0800] middleware INFO Processing exception: Downloading is not supported yet: Traceback (most recent call last):
    File “/usr/local/hue/build/env/lib/python2.6/site-packages/Django-1.6.10-py2.6.egg/django/core/handlers/base.py”, line 112, in get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
    File “/usr/local/hue/build/env/lib/python2.6/site-packages/Django-1.6.10-py2.6.egg/django/db/transaction.py”, line 371, in inner
    return func(*args, **kwargs)
    File “/usr/local/hue/desktop/libs/notebook/src/notebook/decorators.py”, line 55, in decorate
    return view_func(request, *args, **kwargs)
    File “/usr/local/hue/desktop/libs/notebook/src/notebook/views.py”, line 271, in download
    return get_api(request, snippet).download(notebook, snippet, file_format)
    File “/usr/local/hue/desktop/libs/notebook/src/notebook/connectors/jdbc.py”, line 123, in download
    raise PopupException(‘Downloading is not supported yet’)
    PopupException: Downloading is not supported yet

    I want to download CSV of output

  21. Vijay Muralidharan 2 months ago

    will be more helpful if anyone posts a link or documentation on how to integrate drill JDBC connector to Hue

  22. Khalef Bessaih 2 months ago

    Hi there,

    I am running a MapR cluster and trying to setup Apache Drill on HUE notebook snippets.

    I am able to see the Drill snippet, but when I run a simple command like show schemas I get the below error
    I have set the CLASSPATH in few places, but still the issue is there.

    export CLASSPATH=/opt/mapr/drill/drill-1.9.0/jars/jdbc-driver/drill-jdbc-all-1.9.0.jar:$CLASSPATH

    as root or mapr or myown account
    when echo $CLASSPATH I get /opt/mapr/drill/drill-1.9.0/jars/jdbc-driver/drill-jdbc-all-1.9.0.jar

    I need to know what do I need to do to make HUE aware on the drill-jdbc-driver??

    can anyone help I appreciate the help. Thanks.

    An error occurred while calling z:java.sql.DriverManager.getConnection. : java.sql.SQLException: No suitable driver found for jdbc:drill:zk=localhost:5181 at java.sql.DriverManager.getConnection(DriverManager.java:689) at java.sql.DriverManager.getConnection(DriverManager.java:247) at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:231) at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:379) at py4j.Gateway.invoke(Gateway.java:259) at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:133) at py4j.commands.CallCommand.execute(CallCommand.java:79) at py4j.GatewayConnection.run(GatewayConnection.java:207) at java.lang.Thread.run(Thread.java:745)

Leave a reply

Your email address will not be published. Required fields are marked *

*