mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-27 01:51:59 +00:00
Try to fix azure test
This commit is contained in:
parent
7eefb72c53
commit
940449dd59
@ -49,7 +49,6 @@ def azure_query(
|
|||||||
"DB::Exception: Azure::Core::Http::TransportException: Connection closed before getting full response or response is less than expected",
|
"DB::Exception: Azure::Core::Http::TransportException: Connection closed before getting full response or response is less than expected",
|
||||||
"DB::Exception: Azure::Core::Http::TransportException: Connection was closed by the server while trying to read a response",
|
"DB::Exception: Azure::Core::Http::TransportException: Connection was closed by the server while trying to read a response",
|
||||||
"DB::Exception: Azure::Core::Http::TransportException: Error while polling for socket ready read",
|
"DB::Exception: Azure::Core::Http::TransportException: Error while polling for socket ready read",
|
||||||
"DB::Exception: Azure::Core::Http::TransportException: Fail to get a new connection"
|
|
||||||
"Azure::Core::Http::TransportException, e.what() = Connection was closed by the server while trying to read a response",
|
"Azure::Core::Http::TransportException, e.what() = Connection was closed by the server while trying to read a response",
|
||||||
"Azure::Core::Http::TransportException, e.what() = Connection closed before getting full response or response is less than expected",
|
"Azure::Core::Http::TransportException, e.what() = Connection closed before getting full response or response is less than expected",
|
||||||
"Azure::Core::Http::TransportException, e.what() = Connection was closed by the server while trying to read a response",
|
"Azure::Core::Http::TransportException, e.what() = Connection was closed by the server while trying to read a response",
|
||||||
@ -911,6 +910,66 @@ def check_cache(instance, expected_files):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def test_union_schema_inference_mode(cluster):
|
||||||
|
node = cluster.instances["node"]
|
||||||
|
storage_account_url = cluster.env_variables["AZURITE_STORAGE_ACCOUNT_URL"]
|
||||||
|
account_name = "devstoreaccount1"
|
||||||
|
account_key = "Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw=="
|
||||||
|
azure_query(
|
||||||
|
node,
|
||||||
|
f"INSERT INTO TABLE FUNCTION azureBlobStorage('{storage_account_url}', 'cont', 'test_union_schema_inference1.jsonl', '{account_name}', '{account_key}', 'JSONEachRow', 'auto', 'a UInt32') VALUES (1)",
|
||||||
|
)
|
||||||
|
|
||||||
|
azure_query(
|
||||||
|
node,
|
||||||
|
f"INSERT INTO TABLE FUNCTION azureBlobStorage('{storage_account_url}', 'cont', 'test_union_schema_inference2.jsonl', '{account_name}', '{account_key}', 'JSONEachRow', 'auto', 'b UInt32') VALUES (2)",
|
||||||
|
)
|
||||||
|
|
||||||
|
node.query("system drop schema cache for azure")
|
||||||
|
|
||||||
|
result = azure_query(
|
||||||
|
node,
|
||||||
|
f"desc azureBlobStorage('{storage_account_url}', 'cont', 'test_union_schema_inference*.jsonl', '{account_name}', '{account_key}', 'auto', 'auto', 'auto') settings schema_inference_mode='union', describe_compact_output=1 format TSV",
|
||||||
|
)
|
||||||
|
assert result == "a\tNullable(Int64)\nb\tNullable(Int64)\n"
|
||||||
|
|
||||||
|
result = node.query(
|
||||||
|
"select schema_inference_mode, splitByChar('/', source)[-1] as file, schema from system.schema_inference_cache where source like '%test_union_schema_inference%' order by file format TSV"
|
||||||
|
)
|
||||||
|
assert (
|
||||||
|
result == "UNION\ttest_union_schema_inference1.jsonl\ta Nullable(Int64)\n"
|
||||||
|
"UNION\ttest_union_schema_inference2.jsonl\tb Nullable(Int64)\n"
|
||||||
|
)
|
||||||
|
result = azure_query(
|
||||||
|
node,
|
||||||
|
f"select * from azureBlobStorage('{storage_account_url}', 'cont', 'test_union_schema_inference*.jsonl', '{account_name}', '{account_key}', 'auto', 'auto', 'auto') settings schema_inference_mode='union' format TSV",
|
||||||
|
)
|
||||||
|
assert result == "1\t\\N\n" "\\N\t2\n"
|
||||||
|
node.query(f"system drop schema cache for hdfs")
|
||||||
|
result = azure_query(
|
||||||
|
node,
|
||||||
|
f"desc azureBlobStorage('{storage_account_url}', 'cont', 'test_union_schema_inference2.jsonl', '{account_name}', '{account_key}', 'auto', 'auto', 'auto') settings schema_inference_mode='union', describe_compact_output=1 format TSV",
|
||||||
|
)
|
||||||
|
assert result == "b\tNullable(Int64)\n"
|
||||||
|
|
||||||
|
result = azure_query(
|
||||||
|
node,
|
||||||
|
f"desc azureBlobStorage('{storage_account_url}', 'cont', 'test_union_schema_inference*.jsonl', '{account_name}', '{account_key}', 'auto', 'auto', 'auto') settings schema_inference_mode='union', describe_compact_output=1 format TSV",
|
||||||
|
)
|
||||||
|
assert result == "a\tNullable(Int64)\n" "b\tNullable(Int64)\n"
|
||||||
|
azure_query(
|
||||||
|
node,
|
||||||
|
f"INSERT INTO TABLE FUNCTION azureBlobStorage('{storage_account_url}', 'cont', 'test_union_schema_inference3.jsonl', '{account_name}', '{account_key}', 'CSV', 'auto', 's String') VALUES ('Error')",
|
||||||
|
)
|
||||||
|
|
||||||
|
error = azure_query(
|
||||||
|
node,
|
||||||
|
f"desc azureBlobStorage('{storage_account_url}', 'cont', 'test_union_schema_inference*.jsonl', '{account_name}', '{account_key}', 'auto', 'auto', 'auto') settings schema_inference_mode='union', describe_compact_output=1 format TSV",
|
||||||
|
expect_error="true",
|
||||||
|
)
|
||||||
|
assert "Cannot extract table structure" in error
|
||||||
|
|
||||||
|
|
||||||
def test_schema_inference_cache(cluster):
|
def test_schema_inference_cache(cluster):
|
||||||
node = cluster.instances["node"]
|
node = cluster.instances["node"]
|
||||||
connection_string = cluster.env_variables["AZURITE_CONNECTION_STRING"]
|
connection_string = cluster.env_variables["AZURITE_CONNECTION_STRING"]
|
||||||
@ -1157,60 +1216,3 @@ def test_filtering_by_file_or_path(cluster):
|
|||||||
)
|
)
|
||||||
|
|
||||||
assert int(result) == 1
|
assert int(result) == 1
|
||||||
|
|
||||||
|
|
||||||
def test_union_schema_inference_mode(cluster):
|
|
||||||
node = cluster.instances["node"]
|
|
||||||
azure_query(
|
|
||||||
node,
|
|
||||||
"INSERT INTO TABLE FUNCTION azureBlobStorage('http://azurite1:10000/devstoreaccount1', 'cont', 'test_union_schema_inference1.jsonl', 'devstoreaccount1', 'Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==') select 1 as a",
|
|
||||||
)
|
|
||||||
|
|
||||||
azure_query(
|
|
||||||
node,
|
|
||||||
"INSERT INTO TABLE FUNCTION azureBlobStorage('http://azurite1:10000/devstoreaccount1', 'cont', 'test_union_schema_inference2.jsonl', 'devstoreaccount1', 'Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==') select 2 as b",
|
|
||||||
)
|
|
||||||
|
|
||||||
node.query("system drop schema cache for azure")
|
|
||||||
|
|
||||||
result = azure_query(
|
|
||||||
node,
|
|
||||||
"desc azureBlobStorage('http://azurite1:10000/devstoreaccount1', 'cont', 'test_union_schema_inference*.jsonl', 'devstoreaccount1', 'Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==') settings schema_inference_mode='union', describe_compact_output=1 format TSV",
|
|
||||||
)
|
|
||||||
assert result == "a\tNullable(Int64)\nb\tNullable(Int64)\n"
|
|
||||||
|
|
||||||
result = node.query(
|
|
||||||
"select schema_inference_mode, splitByChar('/', source)[-1] as file, schema from system.schema_inference_cache where source like '%test_union_schema_inference%' order by file format TSV"
|
|
||||||
)
|
|
||||||
assert (
|
|
||||||
result == "UNION\ttest_union_schema_inference1.jsonl\ta Nullable(Int64)\n"
|
|
||||||
"UNION\ttest_union_schema_inference2.jsonl\tb Nullable(Int64)\n"
|
|
||||||
)
|
|
||||||
result = azure_query(
|
|
||||||
node,
|
|
||||||
"select * from azureBlobStorage('http://azurite1:10000/devstoreaccount1', 'cont', 'test_union_schema_inference*.jsonl', 'devstoreaccount1', 'Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==') order by tuple(*) settings schema_inference_mode='union', describe_compact_output=1 format TSV",
|
|
||||||
)
|
|
||||||
assert result == "1\t\\N\n" "\\N\t2\n"
|
|
||||||
node.query(f"system drop schema cache for hdfs")
|
|
||||||
result = azure_query(
|
|
||||||
node,
|
|
||||||
"desc azureBlobStorage('http://azurite1:10000/devstoreaccount1', 'cont', 'test_union_schema_inference2.jsonl', 'devstoreaccount1', 'Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==') settings schema_inference_mode='union', describe_compact_output=1 format TSV",
|
|
||||||
)
|
|
||||||
assert result == "b\tNullable(Int64)\n"
|
|
||||||
|
|
||||||
result = azure_query(
|
|
||||||
node,
|
|
||||||
"desc azureBlobStorage('http://azurite1:10000/devstoreaccount1', 'cont', 'test_union_schema_inference*.jsonl', 'devstoreaccount1', 'Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==') settings schema_inference_mode='union', describe_compact_output=1 format TSV",
|
|
||||||
)
|
|
||||||
assert result == "a\tNullable(Int64)\n" "b\tNullable(Int64)\n"
|
|
||||||
azure_query(
|
|
||||||
node,
|
|
||||||
"INSERT INTO TABLE FUNCTION azureBlobStorage('http://azurite1:10000/devstoreaccount1', 'cont', 'test_union_schema_inference3.jsonl', 'devstoreaccount1', 'Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==', TSV) select 'Error'",
|
|
||||||
)
|
|
||||||
|
|
||||||
error = azure_query(
|
|
||||||
node,
|
|
||||||
"desc azureBlobStorage('http://azurite1:10000/devstoreaccount1', 'cont', 'test_union_schema_inference*.jsonl', 'devstoreaccount1', 'Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==') settings schema_inference_mode='union', describe_compact_output=1 format TSV",
|
|
||||||
expect_error="true",
|
|
||||||
)
|
|
||||||
assert "Cannot extract table structure" in error
|
|
||||||
|
Loading…
Reference in New Issue
Block a user