dataground / bq-jsonstore
此包的最新版本(0.2.1)没有可用的许可证信息。
0.2.1
2017-10-05 14:49 UTC
Requires
- php: >=5.5
- google/cloud: ^0.37
- monolog/monolog: ^1.23
- stephenhill/base58: ^1.1
Requires (Dev)
- phpunit/phpunit: ^4.8
README
为任意版本化JSON项提供唯一键的不可变、追加存储。将BigQuery转换为无模式的不可变JSON数据存储,能够处理大型数据集。
安装
composer install dataground/bq-jsonstore
写入数据
$bqbs = new BigQueryBatchService( 'myproject', new BigQueryClient([ 'projectId' => 'myproject', 'keyFile' => json_decode(file_get_contents('my-gcp-key.json'), true) ]) ); $bqbs->start('mydataset'); $bqbs->add('mytable', 'something-unique', ['my-fancy-json-thing => ['foo' => 'bar']]); $bqbs->delete('mytable', 'other-unique-thing'); $bqbs->flush();
读取数据 / 访问JSON属性
可以使用JSON_EXTRACT()和JSON_EXTRACT_SCALAR()函数在SQL中访问数据。有关更多信息,请参阅BigQuery文档。
已知问题
此方法不支持在一个版本中多次更新或删除具有相同uid的项。这样做会导致意外的结果。要更新或删除数据,请使用单独的版本。
待办事项
-
在数据集创建时自动创建[表]_last视图
- 要读取最新的合并数据,请使用自动创建的视图
[mytable]_current
(用于增量加载)。 - 要读取数据的最后导入版本,请使用自动创建的视图
[mytable]_last
(用于完整加载)。
- 要读取最新的合并数据,请使用自动创建的视图
-
防止每个版本中多次更新uid
-
检查版本是否已存在
-
添加单元测试
-
更多文档