使用Drill从Parquet中选择二进制数据

时间:2018-10-01 16:58:26

标签: python parquet apache-drill pydrill

我有一个实木复合地板数据集,我保存了一个byte_array。

我正在使用Apache Drill查询数据集:

SELECT id, x, y FROM `dfs.root`.`./data`

这给了我

+--------------------------------------+-------------+-------------+
|                  ID                  |      X      |      Y      |
+--------------------------------------+-------------+-------------+
| 0A3D27D8-DEC5-54D6-6A8E-8FD5CF721E1C | [B@654e7f63 | [B@39a668e8 |
+--------------------------------------+-------------+-------------+

使用PyDrill查询时,如何将binary object ID转换为实际的Python byte_array?

1 个答案:

答案 0 :(得分:0)

SELECT id, CONVERT_FROM(x, 'UTF8') as x, CONVERT_FROM(y, 'UTF8') as y FROM `dfs.root`.`./data`

您可以在Apache Drill文档中找到此信息:
https://drill.apache.org/docs/data-type-conversion/#convert_to-and-convert_from

我认为您的意思是fixed_len_byte_array。它是原始的Parquet数据类型。它可以用于INTERVALDECIMAL逻辑数据类型。看起来Drill开箱即用地支持它们。如果您没有为fixed_len_byte_array指定逻辑数据类型,则不清楚如何解释此数据。