Forum

This content is now out of date.

Visit Our Community

Big Query Integration – Issue with NULL values

We are evaluating Yellowfin as a replacement to Tableau for reporting on Google BigQuery. We have found that there is an issue with the default JDBC driver for connecting to BiqQuery that returns an error. I have submitted an issue to starschema at https://code.google.com/p/starschema-bigquery-jdbc/issues/detail?id=13 with a detailed example.

From Yellowfin perspective, the product does not catch the error and place it to a field in the results as it does in SQuireLSQ, it just returns an Error to the user with no additional details.

To replicate this issue:
1. Follow the example in https://code.google.com/p/starschema-bigquery-jdbc/issues/detail?id=13 to create the table.
2. Create a data connection to BQ.
3. Create a view on this table. When you "View Data", you will get this error in the web page:

Error Previewing Data
The database returned the error:
empty String

and this error in logs:
502574429 [http-8080-15] INFO net.starschema.clouddb.jdbc.BQSupportFuncts - Job status: DONE ; job_ryh_8c5jSXMahWQkkdDkjyO-mxk ; -387
net.starschema.clouddb.jdbc.BQSQLException: java.lang.NumberFormatException: empty String
at net.starschema.clouddb.jdbc.BQForwardOnlyResultSet.getObject(BQForwardOnlyResultSet.java:177)
at com.hof.mi.process.MIViewProcess.previewView(MIViewProcess.java:6231)
at com.hof.mi.web.action.MIViewSummaryAction.execute(MIViewSummaryAction.java:180)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:643)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.hof.servlet.BrowserHeaderFilter.doFilter(BrowserHeaderFilter.java:40)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NumberFormatException: empty String
at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source)
at java.lang.Float.parseFloat(Unknown Source)
at net.starschema.clouddb.jdbc.BQForwardOnlyResultSet.getObject(BQForwardOnlyResultSet.java:166)
Hi,

Thanks for the detailed description.

I have managed to replicate your issue with our own BigQuery DB and glad you have already raised a ticket with StarSchema.

When you do hear back from them on your latest comment, please let us know.
We will check also, but I suspect you will automatically be notified once they reply.

In the meantime, an enhancement request was raised (TASK ID = 172614) to support a 'click for more info' link when a general error is displayed.
This will save you from having to open the log file to see the underlying error.

Thanks for your feedback and please let us know how this progresses with StarSchema.
In the meantime, I will also raise this with the development team to see if there is another way we can get around this from a YF perspective.

Regards,
David


David,
Thanks for your prompt response. I have been informed that Simba has a JDBC driver for BQ. Has Yellowfin tested using this driver yet? We have used the Simba BQ ODBC driver that is bundled with Tableau and it is returning these fields correctly.

Regards,
Doug
Hi Doug,

We recently tested with the Simba JDBC driver, connecting to a Simba source and ran into an issue pulling in data fields. However it has since been fixed and will be included in this month's 7.1 update (to be released on Friday 26th of Sept).

You're more than happy to test out your connection using the Simba JDBC driver, however keep in mind the current date field defect, and also that there are many different Simba drivers, so it may not be that simple.

However, any issues you face can be investigated by us, and if an issue lies with Yellowfin (not the driver) we can figure out a way to get around it.

Please let me know how it goes.

Regards,
David


David,
Thanks for the update. Which Simba driver version did you test with? Is it bundled with the software or we need to supply it?

Thanks,
Doug
Hi Doug,

Looks like we were using a custom Simba driver that was specifically built for one of our clients, so it will not connect to our BigQuery instance.

Connecting to BigQuery with a Simba driver is not something we have tested as yet.
But if you have a specific driver you want us to check, we are more than happy to look at it.

Regards,
David