PHPを使用してプログラムでBigQueryテーブルパーティション -- php フィールド と google-bigquery フィールド と partitioning フィールド 関連 問題

bigquery table partition programatically using php












0
vote

問題

日本語

PHPスクリプトを使用してデータをロードしたが正しい解決策を取得していない場合、BIG-Queryでパーティションを作成しようとしています。

<事前> <コード> <?php require_once '/v/vv/vv/common.php'; require_once '/vv/vv/vv/vendor/autoload.php'; use GoogleCloudBigQueryBigQueryClient; use GoogleCloudCoreExponentialBackoff; /** Uncomment and populate these variables in your code */ $projectId = 'id'; $datasetId = 'ids'; $bigQuery = new BigQueryClient([ 'projectId' => $projectId, ]); $dataset = $bigQuery->dataset($datasetId); $table_id='test_table'; $table = $dataset->table($table_id); // create the import job $schema = [ 'fields' => [ ['name' => 'date', 'type' => 'Date','mode'=>'required'], ['name' => 'name', 'type' => 'string'], ['name' => 'post_abbr', 'type' => 'string'] ], 'timePartitioning'=>['type'=>'DAY','filed'=>'date'] ]
英語

I am trying to create partition on big-query when load data using php script but not getting right solution.

<?php require_once '/v/vv/vv/common.php'; require_once '/vv/vv/vv/vendor/autoload.php';  use GoogleCloudBigQueryBigQueryClient; use GoogleCloudCoreExponentialBackoff; /** Uncomment and populate these variables in your code */ $projectId  = 'id'; $datasetId  = 'ids';  $bigQuery = new BigQueryClient([    'projectId' => $projectId, ]); $dataset = $bigQuery->dataset($datasetId); $table_id='test_table'; $table = $dataset->table($table_id); // create the import job $schema = [   'fields' => [         ['name' => 'date', 'type' => 'Date','mode'=>'required'],         ['name' => 'name', 'type' => 'string'],         ['name' => 'post_abbr', 'type' => 'string']   ],  'timePartitioning'=>['type'=>'DAY','filed'=>'date'] ] 
</div
        
 
 

回答リスト

0
 
vote

あなたはスキーマ定義 <コード> use GoogleCloudBigQueryBigQueryClient; $source = 'miData.csv'; $datasetId = 'miDataset'; $table_id='miTable'; $bigQuery = new BigQueryClient(); $dataset = $bigQuery->dataset($datasetId); $table = $dataset->table($table_id); $loadConfig = $table->load(fopen($source, 'r')); $loadConfig->sourceFormat('CSV'); // create the import job $schema = [ 'fields' => [ ['name' => 'miDate', 'type' => 'DATE','mode'=>'required'], ['name' => 'name', 'type' => 'STRING'], ['name' => 'post_abbr', 'type' => 'STRING'] ] ]; $loadConfig->schema($schema); $timePartitioning = ['type'=>'DAY','filed'=>'miDate']; $loadConfig->timePartitioning($timePartitioning); $loadConfig->createDisposition('CREATE_IF_NEEDED'); $loadConfig->writeDisposition('WRITE_TRUNCATE'); $job = $table->runJob($loadConfig);

ロードジョブの使用可能オプションの詳細については、 API Documentation とPHP loadjobConfiguration

 

You are mixing the schema definition with timePartitioning. Here is a snippet of code:

use GoogleCloudBigQueryBigQueryClient;  $source = 'miData.csv'; $datasetId  = 'miDataset'; $table_id='miTable';  $bigQuery = new BigQueryClient(); $dataset = $bigQuery->dataset($datasetId); $table = $dataset->table($table_id);  $loadConfig = $table->load(fopen($source, 'r'));  $loadConfig->sourceFormat('CSV');  // create the import job $schema = [   'fields' => [         ['name' => 'miDate', 'type' => 'DATE','mode'=>'required'],         ['name' => 'name', 'type' => 'STRING'],         ['name' => 'post_abbr', 'type' => 'STRING']   ] ];  $loadConfig->schema($schema);  $timePartitioning = ['type'=>'DAY','filed'=>'miDate']; $loadConfig->timePartitioning($timePartitioning);  $loadConfig->createDisposition('CREATE_IF_NEEDED'); $loadConfig->writeDisposition('WRITE_TRUNCATE');   $job = $table->runJob($loadConfig); 

For more information about the available options for load jobs check the API documentation and the PHP loadJobConfiguration.

</div
 
 

関連する質問

1  データを使用した反復分割とラベル付け  ( Iterative partitioning and labeling using data table ) 
私は各観測値にラベルを割り当て、すべてのパーティションが指定された最小観測値以下になるまで続くパーティション化の反復方法を有する。 <?php the_excerpt(); ?> <?php the_content(); ?> <?php wp_link_...

18  MySQLデータベースの自動パーティション化  ( Mysql database automatic partitioning ) 
私は私が日付によってパーティションを、特に月とampによってパーティションを置きたいMySQLデータベーステーブルを持っています。年。ただし、新しいデータが新しい月に追加されると、データベースを手動で更新する必要がありません。 最初にデータベースを作成するとき...

1  MySQLI PHPコードを使用してパーティション化されたテーブルを作成および管理する  ( Using mysqli php code to create and manage partitioned tables ) 
PHP MMYADMINで手動でクエリを実行するのではなく、PHPコードを使用してパーティション表を作成できるようにしたいです。これを実行できますか? MySQLIを使用しています。これはMySQLより安全なためです。 現在現時点では、鉱山の典型的な表はそ...

0  2つのソースパーティションからrsyncコピーしたパーティションを結合する方法  ( How to mount an rsync copied partition combined from two source partitions ) 
PCはarchlinuxを実行しています。 My PCには、2台のハードディスク、/ dev / sdaおよび/ dev / sdbがあります。 SDAはソースディスクであり、すべてのファイルが含まれています。 SDBは宛先ディスクで、現在空かされています。...

1  SQL Server - パーティションの共有ロックを強制します  ( Sql server force shared lock on partition ) 
マイクロソフトの記事 私はに沸騰するものを持っています <事前> <コード> BEGIN TRAN ALTER INDEX IX_Working ON dbo.WorkingTable DISABLE INSERT INTO dbo.WorkingTab...

0  ORA 11GのDBパーティション  ( Db partition in ora 11g ) 
パーティションを作成する必要があるシステムパラメータから日付を選択し、ストアドプロシージャを使用してパーティションを作成する必要があります。どんなガイダンスでも。 Oracle 11gが使用されています。 ...

1  分類されたリストを制約に適用します  ( Partition a sorted list subject to a constraint ) 
これは質問です: Say整数のソートされたリストを指定した(それが正しい場合は、それがどんな問題になると仮定していると仮定することができます)、リストを制約に従って、リストを「N」の等しいサイズのパーティション(またはできるだけ)に分割します。いずれの整...

18  セットのすべてのパーティションを見つける方法  ( How to find all partitions of a set ) 
私は一連の異なる値を持っています。私はこのセットのすべてのパーティションを生成する方法、すなわちセットをサブセットに分割する可能性のあるすべての方法を探しています。 例えば、SET {1, 2, 3} には、次のパーティションがあります。 <事前> <コード...

3  パーティションリスト<T>?  ( Partitioned listt ) 
私は私がリスト全体を反復する必要があるオブジェクトの大きなリストを持っていて、そして時々私は.property = "somevalue"のオブジェクトを見たいだけです。 現在私のコレクションを見渡して、100kオブジェクトがロードされ、一握りのみが私のター...

8  ジオメトリをブロックに分割する方法  ( How to break a geometry into blocks ) 
私は私が必要なものをするいくつかのアルゴリズムがすでにあることを確信していますが、私はGoogleへのフレーズ、あるいはアルゴリズムカテゴリとは何ですか。 これは私の問題です:私はいくつかの接触ブロック(Hyperslabs)によって構成される多面体を持ってい...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有