bigquery - zeppelin时间戳未呈现为日期

问题描述 投票:0回答:1

我正在使用Bigquery解释器在zeppelin上运行Bigquery查询,查询在具有类型为TIMESTAMP的字段的表上运行。

行为:1。当在google bigquery控制台上执行查询时,TIMESTAMP字段被视为日期,这是有效的默认行为,因为它是人类可读的。它与任何SQL数据库一样。 2.当使用bigquery解释器在zeppelin上执行相同的查询时,TIMESTAMP字段将呈现为LONG类型。这是一个巨大的数字。但是在zeppelin上使用JDBC解释器执行查询时,TI

我们希望在执行选择查询时将Timestamp列呈现为日期。

当我在zeppelin源中添加BigQueryInterpreter.java中的日志时,字段值将打印为长类型,即大数字。因此,如果我们想解决这个问题,那么正确的方法是什么,因为zeppelin解释器使用bigquery google api服务,即google-api-services-bigquery-v2-rev300-1.20.0

for(TableRow row:response.getRows()){for(TableCell field:row.getF()){logger.error(“field value:{}”,field.getV()。toString()); msg.append(field.getV()的toString()); msg.append(TAB); }

Timestamp field rendered as number

SQl, timestamp rendered as date

那么我们怎样才能确保bigquery返回时间戳作为日期而不是长类型,如何解决问题呢?

timestamp google-bigquery
1个回答
0
投票

由于Zeppelin在内部使用Long,您可以让他们的开发人员添加一种方法来将数据作为时间戳返回,或者您可以在查询后自己转换数据。

如果它是Java,你可以试试this

© www.soinside.com 2019 - 2024. All rights reserved.