Dataplex Workbench查询仅返回分区时间戳,如何正常查询数据?
解决Dataplex Workbench查询仅返回重复分区时间戳的问题
排查与解决步骤
1. 验证实体架构与实际数据文件的匹配性
- 登录Dataplex控制台找到目标实体
gcs_assetr,核对其架构定义的字段数量、名称、类型是否和实际数据文件完全一致。- 若为CSV文件:确认是否勾选“第一行为表头”选项,未勾选会导致Dataplex把首行数据当作字段名,后续数据无法被正确解析。
- 若为Parquet/ORC等列式存储:确保文件内置Schema和实体注册的Schema完全匹配,避免字段缺失或类型不兼容。
2. 检查分区配置
- 查看实体的分区设置,确认分区列定义正确:
- 分区列应为路径中的辅助字段(如
dt=2024-05-20这类格式),而非数据文件内的唯一字段。 - 若分区配置错误(比如误将数据文件内的某一列设为分区列),会导致查询仅返回重复的分区值。
- 分区列应为路径中的辅助字段(如
3. 重新同步元数据
- 在Dataplex控制台找到对应资产或实体,执行元数据同步操作,确保Dataplex正确读取最新的数据文件结构。
- 同步完成后,在Workbench中刷新实体列表,再重新执行查询。
4. 调整查询语句指定字段
- 暂时避免使用
SELECT *,尝试指定具体字段查询,验证是否能返回实际数据:
SELECT col1, col2, partition_timestamp FROM my_test_zone.gcs_assetr LIMIT 10;
如果指定字段能返回数据,说明SELECT *时部分字段解析存在问题,需进一步检查字段定义。
5. 直接验证底层存储数据
- 用BigQuery外部表语法直接查询底层GCS存储,验证数据本身是否正常:
SELECT * FROM EXTERNAL_QUERY( 'your-project.us.your-connection', 'SELECT * FROM `your-gcs-bucket-path` LIMIT 10' );
若此查询能返回正确数据,说明问题出在Dataplex实体的配置上,而非数据本身。
内容的提问来源于stack exchange,提问作者Marian
相关产品推荐
相关产品推荐

