これはImpala側では設定できません。
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
を参照してください。
しかし、あなたはまだ情報アモスのおかげで、
私はClouderaのフォーラムに同じ質問を投稿し、それらのコードを変更し、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