有一个 parquet 锉刀 binary (UTF8)
列名为 在里面。 是否可以创建一个 `external` 将包含相同列的配置单元上的表
,但铸造成 string
?
Parquet文件的结构:
$ parquet-tools schema ~/Downloads/dataset.gz.parquet
message spark_schema {
optional binary abc (UTF8);
}
有一个 parquet 锉刀 binary (UTF8)
列名为 在里面。 是否可以创建一个 `external` 将包含相同列的配置单元上的表
,但铸造成 string
?
Parquet文件的结构:
$ parquet-tools schema ~/Downloads/dataset.gz.parquet
message spark_schema {
optional binary abc (UTF8);
}
2条答案
按热度按时间hmae6n7t1#
显然,你可以简单地指定
string
作为柱的类型,它将得到照顾。yruzcnhs2#
涉及三种不同类型:
配置单元中的表有一个sql架构。每一列都有一个类型,如string或decimal。每个表(或分区,如果它是分区表)由多个文件组成,这些文件必须是相同的文件格式,例如纯文本、avro或parquet。
每个单独的文件都有类型信息(纯文本除外)。对于Parquet地板,这意味着还有两层:
物理类型描述存储大小,例如int32、byte\ u array或fixed\ len\ byte\ u array。
逻辑类型告诉应用程序如何解释数据,例如utf8或decimal。
配置单元的字符串列类型存储为字节数组物理类型(在Parquet模式定义中称为binary),并带有utf8逻辑类型注解。