Phoenix sqlline无法在终端上显示表的所有列

时间:2015-09-08 08:37:49

标签: hbase phoenix

使用phoenix sqlline连接hbase。在SecureCRT终端上,我只能看到有三列超过10列的表。我想显示表的所有列以测试数据是否正常。是否应该设置任何配置?

0: jdbc:phoenix:10.35.66.72:2181:/hbase> select * from WL.MSGCENTER_PUSHMESSAGE;
+--------------+---------+---------------------------------------------------------------------------------------------------------------------------------------------+
|    PLANID    | BATCHID |                                                                                                                                                 |
+--------------+---------+---------------------------------------------------------------------------------------------------------------------------------------------+
| 520          | 1       | C285995F-AB23-4CF0-A9A4-F29175E9CD36                                                                                                           |
+--------------+---------+---------------------------------------------------------------------------------------------------------------------------------------------+

选择了1行(0.805秒)

4 个答案:

答案 0 :(得分:21)

您可以将输出格式从水平更改为垂直

!outputformat vertical

答案 1 :(得分:3)

尝试在启动sqlline之前设置终端宽度

stty cols 200

答案 2 :(得分:1)

Sqlline不够智能来调整列宽。使终端更宽,您可能会看到数据 理想情况下,我建议您use squirrel-sql or db-visualizer连接凤凰城。它们是查询Phoenix的更好工具。

看看这个:http://search-hadoop.com/m/9UY0h2sGBoSz1Mta1

答案 3 :(得分:0)

我建议使用 Jupyter 连接 HBase。

我们的团队使用这种方法,我可以在 Juypter 中通过水平滚动轻松查看所有列。

这是我使用的代码片段:

import phoenixdb
from sqlalchemy import create_engine
import pandas as pd

pd.set_option('display.max_columns', None)
pd.set_option('display.max_rows', None)
pd.set_option('display.max_colwidth', None)


def hb_query(x):
    conn = phoenixdb.connect(url='http://xxxxx:1234')
    with conn.cursor() as cursor:
        cursor.execute(x)
        data = cursor.fetchall()
        des = cursor.description
    conn.close()
    columns = [i.name.lower() for i in des]
    df_tmp = pd.DataFrame(data, columns=columns)
    
    return df_tmp

df = hb_query("""
SELECT *
FROM TABLE_ABCD
""")

df    #view rows here

仅供参考,您可能需要先设置 Jupyter,我不知道如何设置以及设置是否困难。我的领导很早就设置了环境。