Problem mit Flow PHP Parquet - Class - Vielleicht weiß jemand weiter
Problem mit Flow PHP Parquet - Class "Flow\Filesystem\Stream\ResourceStream" not found
System:
Windows 10/11
XAMPP mit PHP 8.2.12
Flow PHP Parquet installiert über Composer
Problem:
Ich versuche eine Parquet-Datei mit der Flow PHP Parquet-Bibliothek zu lesen. Die Datei ist vorhanden, aber beim Öffnen des Streams bekomme ich folgenden Fehler:
Was wurde bereits getestet?
✅ Überprüfung, ob die Datei existiert und lesbar ist
✅ Unterschiedliche Methoden zum Öffnen der Datei getestet
✅ Alternative Flow-Klassen wie FileStream ausprobiert (führt zu ähnlichen Fehlern)
✅ Neuinstallation der Flow-Bibliothek mit Composer (composer require flow-php/parquet)
✅ composer dump-autoload ausgeführt, um sicherzustellen, dass alle Klassen korrekt geladen sind
✅ Sowohl komprimierte als auch unkomprimierte Parquet-Dateien getestet – ohne Erfolg
Fragen:
Vielen Dank für eure Hilfe! 😊
System:
Windows 10/11
XAMPP mit PHP 8.2.12
Flow PHP Parquet installiert über Composer
Problem:
Ich versuche eine Parquet-Datei mit der Flow PHP Parquet-Bibliothek zu lesen. Die Datei ist vorhanden, aber beim Öffnen des Streams bekomme ich folgenden Fehler:
DEBUG: Erwarteter Datei-Pfad: C:\pfad\zu\meinem\projekt\test.parquet
DEBUG: Datei wurde gefunden.
DEBUG: Datei ist lesbar.
DEBUG: Versuche Datei-Stream zu öffnen...
DEBUG: Datei-Stream erfolgreich geöffnet.
DEBUG: Stream-Typ: resource
Fatal error: Uncaught Error: Class "Flow\Filesystem\Stream\ResourceStream" not found in C:\pfad\zu\meinem\projekt\index.php:43
Stack trace:
#0 {main} thrown in C:\pfad\zu\meinem\projekt\index.php on line 43
Was wurde bereits getestet?
✅ Überprüfung, ob die Datei existiert und lesbar ist
✅ Unterschiedliche Methoden zum Öffnen der Datei getestet
✅ Alternative Flow-Klassen wie FileStream ausprobiert (führt zu ähnlichen Fehlern)
✅ Neuinstallation der Flow-Bibliothek mit Composer (composer require flow-php/parquet)
✅ composer dump-autoload ausgeführt, um sicherzustellen, dass alle Klassen korrekt geladen sind
✅ Sowohl komprimierte als auch unkomprimierte Parquet-Dateien getestet – ohne Erfolg
<?php
declare(strict_types=1);
require __DIR__ . '/vendor/autoload.php';
use Flow\Parquet\Reader;
use Flow\Filesystem\Stream\ResourceStream;
// Definiere den Pfad zur Datei
$filePath = __DIR__ . DIRECTORY_SEPARATOR . "test.parquet";
// Debug: Pfad ausgeben
echo "DEBUG: Erwarteter Datei-Pfad: $filePath\n";
// Überprüfe, ob die Datei existiert
if (!file_exists($filePath)) {
die("FEHLER: Datei wurde nicht gefunden: $filePath\n");
} else {
echo "DEBUG: Datei wurde gefunden.\n";
}
// Überprüfe, ob die Datei lesbar ist
if (!is_readable($filePath)) {
die("FEHLER: Datei existiert, ist aber nicht lesbar: $filePath\n");
} else {
echo "DEBUG: Datei ist lesbar.\n";
}
try {
// Datei-Stream öffnen
echo "DEBUG: Versuche Datei-Stream zu öffnen...\n";
$streamResource = fopen($filePath, 'rb');
if (!$streamResource) {
die("FEHLER: Konnte Datei-Stream nicht öffnen.\n");
}
echo "DEBUG: Datei-Stream erfolgreich geöffnet.\n";
// Debug: Zeige Ressourcentyp an
echo "DEBUG: Stream-Typ: " . gettype($streamResource) . "\n";
// Erstelle einen ResourceStream für Flow\Parquet
$fileStream = new ResourceStream($streamResource);
if (!$fileStream) {
die("FEHLER: Konnte ResourceStream nicht erstellen.\n");
}
echo "DEBUG: ResourceStream erfolgreich erstellt.\n";
// Parquet-Reader initialisieren
echo "DEBUG: Initialisiere Parquet-Reader...\n";
$reader = new Reader();
// Versuche, die Parquet-Datei zu lesen
echo "DEBUG: Versuche Parquet-Datei zu lesen...\n";
$parquetFile = $reader->readStream($fileStream);
echo "DEBUG: Parquet-Datei erfolgreich gelesen.\n";
// Debug: Anzahl der Zeilen ausgeben
echo "DEBUG: Anzahl gelesener Zeilen: " . count($parquetFile->values()) . "\n";
// Daten ausgeben
foreach ($parquetFile->values() as $row) {
echo "<pre>";
print_r($row);
echo "</pre>";
}
} catch (Exception $e) {
die("FEHLER: Ausnahme beim Lesen der Parquet-Datei: " . $e->getMessage() . "\n");
}
?>
Fragen:
- Gibt es eine funktionierende Möglichkeit, eine Parquet-Datei mit Flow PHP Parquet korrekt zu öffnen?
- Muss eine spezielle Klasse aus der Flow-Bibliothek importiert werden, um den Stream zu erstellen?
- Macht es einen Unterschied, ob die Parquet-Datei komprimiert oder unkomprimiert ist, oder sollte das egal sein?
Vielen Dank für eure Hilfe! 😊
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 671522
Url: https://administrator.de/forum/problem-mit-flow-php-parquet-class-vielleicht-weiss-jemand-weiter-671522.html
Ausgedruckt am: 21.02.2025 um 17:02 Uhr
2 Kommentare
Neuester Kommentar
Ich glaube nicht das es an der Parquet Datei liegt, sondern am Parser.
Durchsuch doch mal deinen /vendor/ ordner ob es dort eine Klasse ResourceStream gibt.
Ansonsten, https://github.com/flow-php/parquet/blob/1.x/src/Flow/Parquet/Reader.php --> Statt des StreamReaders gibts scheinbar auch einen Filebased Reader ;)
Durchsuch doch mal deinen /vendor/ ordner ob es dort eine Klasse ResourceStream gibt.
Ansonsten, https://github.com/flow-php/parquet/blob/1.x/src/Flow/Parquet/Reader.php --> Statt des StreamReaders gibts scheinbar auch einen Filebased Reader ;)