임팔라 측에서 설정이 불가능합니다.
case TImpalaQueryOptions::PARQUET_FALLBACK_SCHEMA_RESOLUTION: {
if (iequals(value, "position") ||
iequals(value, to_string(TParquetFallbackSchemaResolution::POSITION))) {
query_options->__set_parquet_fallback_schema_resolution(
TParquetFallbackSchemaResolution::POSITION);
} else if (iequals(value, "name") ||
iequals(value, to_string(TParquetFallbackSchemaResolution::NAME))) {
query_options->__set_parquet_fallback_schema_resolution(
TParquetFallbackSchemaResolution::NAME);
} else {
return Status(Substitute("Invalid PARQUET_FALLBACK_SCHEMA_RESOLUTION option: "
"'$0'. Valid options are 'POSITION' and 'NAME'.", value));
}
break;
}
임팔라 서버는 기본 쿼리 옵션을 설정하지 않습니다. 클라이언트 세션이 설정되는 모든 옵션이 설정됩니다. 따라서 사용중인 클라이언트를 구성해야합니다. 예를 들어 shell/impala_shell_config_defaults.py
을 참조하십시오.
그러나, 여전히 정보 아모스에 대한 :)
에서 common/thrift/ImpalaInternalService.thrift
struct TQueryOptions {
....
// Determines how to resolve Parquet files' schemas in the absence of field IDs (which
// is always, since fields IDs are NYI). Valid values are "position" (default) and
// "name".
43: optional TParquetFallbackSchemaResolution parquet_fallback_schema_resolution = 0 <--- change it to 1
....
}
좋아요. 나는'-default_query_options' 플래그를 알지 못했다. :) – Amos