Apache Drill 中的数据溢出 table

Data spills out of table in Apache Drill

我最近一直在使用 Apache Drill 检查我的原始数据。一切进展顺利,但我注意到在 table 中显示数据时打印或换行效果不佳。例如:

    +----+-------------+
    | ID | DESCRIPTION |
    +----+-------------+
    | 25840 | Lorem ipsum dolor sit amet |
    | 27127 | Vivamus pharetra at purus et porta |
    | 27128 | Maecenas sagittis lectus urna, at facilisis arcu facilisis ut |
    | 27753 | Integer id lobortis nunc. Donec nec lacus feugiat, 
tempor tellus nec, mattis sem |
    | 28034 | Praesent vulputate id neque non aliquet |
    +----+-------------+

而不是像这样:

+--------+-----------------------------+
|   ID   |         DESCRIPTION         |
+--------+-----------------------------+
| 25840  | Lorem ipsum dolor sit amet  |
+--------+-----------------------------+

不是世界末日,但它让查看数据有点令人沮丧。请注意 ID 为 27753 的行对于我的终端来说太长了,所以它会换行。它不仅扩展了行高,还扩展了超过 header 大小的每一列长度,然后让所有列都这样做,即使它们适合终端大小。我想它看起来像这样:

    +-------+----------------------------------------+
    |   ID  |            DESCRIPTION                 |
    +----+-------------------------------------------+
    | 25840 | Lorem ipsum dolor sit amet             |
    | 27127 | Vivamus pharetra at purus et porta     |
    | 27753 | Integer id lobortis nunc. Donec nec    |
    |       |  lacus feugiat, tempor tellus nec,     |
    |       |  mattis sem                            |
    | 28034 | Praesent vulputate id neque non aliquet|
    +-------+----------------------------------------+

可能还没有办法做到这一点,但在我提交关于 JIRA 的功能请求之前,我想我应该问一下。

"pretty printing" 由 SqlLine (https://github.com/julianhyde/sqlline) 基于 JDBC 提供的模式完成。由于 Drill 是 "schema free",它会在查询处理数据时发现模式,并且 returns 会发现带有数据的模式。有可能在您的测试中,第一个模式以某种方式返回而没有任何数据,然后模式更改为 "wider" 数据类型。