Phoenix 時區問題

来源:https://www.cnblogs.com/liuzx8888/archive/2023/07/28/17587059.html
-Advertisement-
Play Games

![](https://img2023.cnblogs.com/blog/3076680/202307/3076680-20230726164318392-162588362.png) # 1. 結果集 ## 1.1. sql ```sql select empno,mgr from emp ord ...


      最近在測試flink從trino查詢數據插入到phoenix5的功能,發現一個時間的問題:

 明明插入的時間是 '1940-06-01',查詢出來的時間會少一天,同樣的 Timestamp 也會自動少掉 8個小時,詳細原因參考  Phoenix關於時區的處理方式說明。但是文章中阿裡的已經處理,但是社區版的仍然有問題,好在社區版本的也有了對應的升級包PHOENIX-6623   ,把phoenix 5.14的版本編譯好後,升級上去,打開  phoenix.query.applyTimeZoneDisplacement=true,但是經過測試大部分時間已經能夠正常的顯示,仍然有一些時間存在問題,

        其中的原因是因為 phoenix 採用的 org.joda.time 工具包,存的時間是按照GMT時區存的數據,對於夏令時的處理存在問題,詳細可以參照   消失了的那些天——Joda中的夏令時。對於特殊的幾個時間 1940-06-01、1941-03-16、1986-05-04、1987-04-12、1988-04-10、1989-04-16、1990-04-15、1991-04-14 的時間夏令時的偏移量是按照9小時來處理的,正常的時間按照8個小時來做處理,通過時區的轉換 ,這種正好是夏令時多1個小時的就會顯示少1一天。目前社區應該沒有解決特殊的夏令時的顯示。

 

目前的解決方案:升級到phoenix 5.14版本,打開phoenix.query.applyTimeZoneDisplacement=true,Timestamp格式是可以正常顯示,date 類型數據仍然存在一點問題,查詢的客戶端使用 sqlline-thin 客戶端以及QueryServer JDBC,sqlline 的客戶端to_char顯示的是GMT時區的時間,sqlline-thin to_char顯示的是 GMT+8 的時間,date 類型的數據通過 SUBSTR(to_char(date),1,10) 來解決顯示問題,如果不存在這幾個夏令時時間,就可以直接查詢原表

sqlline:

 sqlline-thin:

 另外:

5.14版本缺少 QueryServer的可以參考 關於Phoenix5.X 安裝包不包含QueryServer服務問題_phoenix-hbase5.x(適配phoenix-queryserver)_Jason_yan0527的博客-CSDN博客,需要自行編譯

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 什麼是WPF的解析度無關性? 首先得解什麼是Dpi(Density independent pixels ,設備無關像素),百度百科的解釋DPI是指每英寸的像素,對應界面顯示即是屏幕上每英寸的像素。 如標準的Windows DPI(96Dpi),代表1英寸96個像素。 假設有一個96px*96px的 ...
  • 一、前言 前面我們選定了Admin.net來搭建我們的MOM快速開發平臺,本章主要描述.NET6平臺的Linux部署,以及記錄搭建過程中坑。 本次搭建我們選擇某雲的輕量應用伺服器,系統選擇CentOS 7.6,資料庫使用Mysql。參考配置如下: 二、搭建Linux管理工具 系統搭建完畢,我們使用寶 ...
  • 簡介 EtherCAT的主站開發是基於EtherCAT 控制系統的開發中非常重要的環節。目前常見開源的主站代碼為的RT-LAB開發的SOEM (Simple OpenSource EtherCAT Master)和EtherLab的the IgH EtherCAT® Master。使用起來SOEM的 ...
  • # 錯誤: Resize inode not valid 對於gpt分區的硬碟一般fsck只能檢查分區, 不能用於檢查整個硬碟, 但是如果對硬碟設備運行時遇到這樣的錯誤 ```bash $ sudo fsck -n /dev/sdc fsck from util-linux 2.37.2 e2fsc ...
  • 本文分享自天翼雲開發者社區《大數據通用組件故障處理》,作者:f****n HDFS 1.HDFS 服務一直異常 檢查HDFS是否處於安全模式。 檢查ZooKeeper服務是否運行正常。 2.HDFS 維護客戶端出現OutOfMemoryError 異常 使用HDFS客戶端之前,需要在HADOOP_C ...
  • 有許多支持多數據源數據轉換和同步的ETL工具可供選擇。以下是一些常見的ETL工具和它們支持多數據源數據轉換和同步的特點: Apache NiFi:Apache NiFi是一個開源的ETL工具,支持多種數據源的連接,包括文件系統、資料庫、消息隊列、網路介面等。它提供了可視化的界面和強大的數據處理功能, ...
  • ### PG資料庫安裝擴展 需要用到pg資料庫的空間擴展postgis,在進行操作之前需要在資料庫中安裝擴展。 ```sql CREATE EXTENSION postgis; CREATE EXTENSION postgis_topology; CREATE EXTENSION postgis_g ...
  • 一、最左首碼法則 如果索引了多列(聯合索引),要遵守最左首碼法則。最左首碼法則指的是查詢從索引的最左列開始,並且不跳過索引中的列,如果跳躍某一列,索引將部分失效(後面的欄位索引失效) 示例1:account_transaction表中創建一個聯合索引,使用method欄位+trader_staff_ ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...