abetomo / convert-athena-query-results-to-array
将 AWS Athena 查询结果转换为数组。
v3.0.0
2021-04-28 00:08 UTC
Requires
- php: >=7.3
Requires (Dev)
- phpunit/phpunit: ^9
README
将 AWS Athena 查询结果转换为数组。由于 GetQueryResults 的响应较为复杂,因此将其转换为简单的数组。
安装
% composer require abetomo/convert-athena-query-results-to-array
使用方法
将 GetQueryResults 的响应转换为数组。
<?php // ... startQueryExecution, etc. $getQueryResultsResponse = $athenaClient->getQueryResults([ 'QueryExecutionId' => $queryExecutionId ]); use Abetomo\ConvertAthenaQueryResultstoArray\ConvertAthenaQueryResultstoArray; print "/// Original value\n"; print_r($getQueryResultsResponse->get('ResultSet')); print "\n/// Convert to array \n"; print_r(ConvertAthenaQueryResultstoArray::convert( $getQueryResultsResponse->get('ResultSet'), true // $isSkipHeader ));
结果示例
转换为数组
Array
(
[0] => Array
(
[account_id] => id1
[count] => 49
)
[1] => Array
(
[account_id] => id2
[count] => 68
)
)
原始值
Array
(
[Rows] => Array
(
[0] => Array
(
[Data] => Array
(
[0] => Array
(
[VarCharValue] => account_id
)
[1] => Array
(
[VarCharValue] => count
)
)
)
[1] => Array
(
[Data] => Array
(
[0] => Array
(
[VarCharValue] => id1
)
[1] => Array
(
[VarCharValue] => 49
)
)
)
[2] => Array
(
[Data] => Array
(
[0] => Array
(
[VarCharValue] => id2
)
[1] => Array
(
[VarCharValue] => 68
)
)
)
)
[ResultSetMetadata] => Array
(
[ColumnInfo] => Array
(
[0] => Array
(
[CatalogName] => hive
[SchemaName] =>
[TableName] =>
[Name] => account_id
[Label] => account_id
[Type] => varchar
[Precision] => 2147483647
[Scale] => 0
[Nullable] => UNKNOWN
[CaseSensitive] => 1
)
[1] => Array
(
[CatalogName] => hive
[SchemaName] =>
[TableName] =>
[Name] => count
[Label] => count
[Type] => integer
[Precision] => 10
[Scale] => 0
[Nullable] => UNKNOWN
[CaseSensitive] =>
)
)
)
)