Uploaded image for project: 'Ambari'
  1. Ambari
  2. AMBARI-17632

Zeppelin service: Dependencies for phoenix in JDBC interpreter are not configured by default

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.4.0
    • 2.4.0
    • ambari-server
    • None

    Description

      It is observed that the dependencies for phoenix are not configured in JDBC interpreter out-of-the-box. A user has to manually configure it (org.apache.phoenix:phoenix-core:4.4.0-HBase-1.0) and save the interpreter configurations.

      After configuring dependency, Zeppelin does not work with phoenix .

      My Zeppelin JDBC interpreter configs corresponding to pheonix are

      phoenix.driver org.apache.phoenix.jdbc.PhoenixDriver
      phoenix.hbase.client.retries.number 1
      phoenix.password
      phoenix.url jdbc:phoenix:<hostname>:2181:/hbase-unsecure
      phoenix.user phoenixuser

      When I try to run query:
      %jdbc(phoenix)
      create table if not exists PRICES (
      SYMBOL varchar(10),
      DATE varchar(10),
      TIME varchar(10),
      OPEN varchar(10),
      HIGH varchar(10),
      LOW varchar(10),
      CLOSE varchar(10),
      VOLUME varchar(30),
      CONSTRAINT pk PRIMARY KEY (SYMBOL, DATE, TIME)
      )

      It gives PhoenixIOException
      class org.apache.phoenix.exception.PhoenixIOException
      org.apache.phoenix.util.ServerUtil.parseServerException(ServerUtil.java:108)
      org.apache.phoenix.query.ConnectionQueryServicesImpl.ensureTableCreated(ConnectionQueryServicesImpl.java:879)
      org.apache.phoenix.query.ConnectionQueryServicesImpl.createTable(ConnectionQueryServicesImpl.java:1213)
      org.apache.phoenix.query.DelegateConnectionQueryServices.createTable(DelegateConnectionQueryServices.java:112)
      org.apache.phoenix.schema.MetaDataClient.createTableInternal(MetaDataClient.java:1902)
      org.apache.phoenix.schema.MetaDataClient.createTable(MetaDataClient.java:744)
      org.apache.phoenix.compile.CreateTableCompiler$2.execute(CreateTableCompiler.java:186)
      org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:303)
      org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:295)
      org.apache.phoenix.call.CallRunner.run(CallRunner.java:53)
      org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:293)
      org.apache.phoenix.jdbc.PhoenixStatement.executeUpdate(PhoenixStatement.java:1236)
      org.apache.phoenix.query.ConnectionQueryServicesImpl$12.call(ConnectionQueryServicesImpl.java:1891)
      org.apache.phoenix.query.ConnectionQueryServicesImpl$12.call(ConnectionQueryServicesImpl.java:1860)
      org.apache.phoenix.util.PhoenixContextExecutor.call(PhoenixContextExecutor.java:77)
      org.apache.phoenix.query.ConnectionQueryServicesImpl.init(ConnectionQueryServicesImpl.java:1860)
      org.apache.phoenix.jdbc.PhoenixDriver.getConnectionQueryServices(PhoenixDriver.java:162)
      org.apache.phoenix.jdbc.PhoenixEmbeddedDriver.connect(PhoenixEmbeddedDriver.java:131)
      org.apache.phoenix.jdbc.PhoenixDriver.connect(PhoenixDriver.java:133)
      java.sql.DriverManager.getConnection(DriverManager.java:571)
      java.sql.DriverManager.getConnection(DriverManager.java:187)
      org.apache.zeppelin.jdbc.JDBCInterpreter.getConnection(JDBCInterpreter.java:222)
      org.apache.zeppelin.jdbc.JDBCInterpreter.getStatement(JDBCInterpreter.java:233)
      org.apache.zeppelin.jdbc.JDBCInterpreter.executeSql(JDBCInterpreter.java:292)
      org.apache.zeppelin.jdbc.JDBCInterpreter.interpret(JDBCInterpreter.java:396)
      org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret(LazyOpenInterpreter.java:94)
      org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:341)
      org.apache.zeppelin.scheduler.Job.run(Job.java:176)
      org.apache.zeppelin.scheduler.ParallelScheduler$JobRunner.run(ParallelScheduler.java:162)
      java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
      java.util.concurrent.FutureTask.run(FutureTask.java:262)
      java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
      java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
      java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      java.lang.Thread.run(Thread.java:745)

      Attachments

        Issue Links

          Activity

            People

              rkamath Renjith Kamath
              kbadani Kshitij Badani
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: