2017-12-14 15 views
0

Bigqueryインタプリタを使用してzeppelinでBigqueryクエリを実行していますが、タイプがTIMESTAMPのフィールドを持つテーブルでクエリが実行されます。bgiquery - zeppelinタイムスタンプが日付としてレンダリングされない

動作: 1. Google Bigqueryコンソールでクエリを実行すると、TIMESTAMPフィールドが日付として表示されます。これは人間が読めるように有効なデフォルトの動作です。それはまた、任意のSQLデータベースと同じです。 2. bigqueryインタプリタを使用して同じクエリがzeppelin上で実行されると、TIMESTAMPフィールドはLONG​​型としてレンダリングされます。 ただし、JDBCインタプリタを使用してクエリを実行した場合のゼープリンの場合、

選択クエリを実行すると、タイムスタンプ列が日付として表示されます。

zeppelinソースのBigQueryInterpreter.javaにログを追加したとき、フィールド値は長い型、つまり大きな数値として出力されます。 、ツェッペリンインタプリタは、つまりはグーグル-API-サービス-BigQueryの-V2-rev300-1.20.0

(のTableRow行ののBigQuery GoogleのAPIサービスを使用するため、私たちはこれを修正したい場合は、正しいアプローチは何ですか。 (フィールド値:{{{{{{}}}){return35}}}}}} msg.append(field.getV()。toString()); msg.append(TAB); }

Timestamp field rendered as number

SQl, timestamp rendered as date

では、どのようにBigQueryは、問題が解決できるか、代わりにlong型の日付としてtimstamp返すことを確認することができますか?

+0

この問題は、Zeppelin Interpreterでのみ発生しますか?データを取得した後にLong値をタイムスタンプに簡単に再変換できないのはなぜですか? –

答えて

0

Zeppelinは内部的にLongを使用するため、開発者にタイムスタンプとしてデータを返す方法を追加するか、クエリを自分で変換することができます。

Javaの場合は、thisを試すことができます。

関連する問題