1. Go to this page and download the library: Download jocoon/parquet library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
jocoon / parquet example snippets
use jocoon\parquet\ParquetReader;
// open file stream (in this example for reading only)
$fileStream = fopen(__DIR__.'/test.parquet', 'r');
// open parquet file reader
$parquetReader = new ParquetReader($fileStream);
// get file schema (available straight after opening parquet reader)
// however, get only data fields as only they contain data values
$dataFields = $parquetReader->schema->GetDataFields();
// enumerate through row groups in this file
for($i = 0; $i < $parquetReader->getRowGroupCount(); $i++)
{
// create row group reader
$groupReader = $parquetReader->OpenRowGroupReader($i);
// read all columns inside each row group (you have an option to read only
//
use jocoon\parquet\ParquetWriter;
use jocoon\parquet\data\Schema;
use jocoon\parquet\data\DataField;
use jocoon\parquet\data\DataColumn;
//create data columns with schema metadata and the data you need
$idColumn = new DataColumn(
DataField::createFromType('id', 'integer'), // NOTE: this is a little bit different to C# due to the type system of PHP
[ 1, 2 ]
);
$cityColumn = new DataColumn(
DataField::createFromType('city', 'string'),
[ "London", "Derby" ]
);
// create file schema
$schema = new Schema([$idColumn->getField(), $cityColumn->getField()]);
// create file handle with w+ flag, to create a new file - if it doesn't exist yet - or truncate, if it exists
$fileStream = fopen(__DIR__.'/test.parquet', 'w+');
$parquetWriter = new ParquetWriter($schema, $fileStream);
// create a new row group in the file
$groupWriter = $parquetWriter->CreateRowGroup();
$groupWriter->WriteColumn($idColumn);
$groupWriter->WriteColumn($cityColumn);
// As we have no 'using' in PHP, I implemented finish() methods
// for ParquetWriter and ParquetRowGroupWriter
$groupWriter->finish(); // finish inner writer(s)
$parquetWriter->finish(); // finish the parquet writer last
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.