große Dateien bearbeiten

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • große Dateien bearbeiten

    Hallo,

    ich habe hier ein Problem und hoffe das Ihr mir weiterhelfen könnt.

    Und zwar habe ich hier 2 Dateien welche Daten enthalten. Diese möchte ich in eine db importieren. Das parsen funktioniert super. Mein Problem ist nur, das die eine Datei 150MB und die andere knapp 1.3GB! groß ist. Der Server kommt schon mit 150MB nicht klar und bricht ab. (Liegt nicht an einer Laufzeitbegrenzung)

    Was kann ich machen damit ich die Daten ordentlich bearbeiten kann?

    Grüße

    Stefan

  • #2
    vielleicht die dateien in mehrere dateien aufteilen??

    singles

    Kommentar


    • #3
      Hallo,

      wäre evtl. ein Ansatz. Ich habe gehofft, das man die Datei häppchenweise auslesen kann und somit das aufteilen nicht notwendig wird. Falls es noch irgendeine Idee gibt wäre ich sehr Dankbar.


      Grüße

      Stefan

      Kommentar


      • #4
        sry wenn ich ma sooo doof frage, aebr was können das für daten sein, das du sooo große dateien in php laden musst um sie zu bearbeiten????????


        mfg

        Kommentar


        • #5
          Hi,

          klar kannst Du

          Das sind Artikeldaten. Das System wie diese Daten aufbereitet worden sind ist zwar der totale Schwachsinn, jedoch muss ich damit klarkommen. Habe zwar gerade versucht die Dateien zu splitten, jedoch reicht der zur Verfügung stehende Speicher dafür nicht aus

          Habe momentan keine Idee was ich noch machen soll. Muß ich mir wohl erstmal was überlegen ob man über die Console was erreichen könnte.

          Falls noch jemand eine Idee hat dann mal raus damit

          Grüße

          Stefan

          Kommentar


          • #6
            das beste wär sicherlich es in eine db einzufügen
            dies wirst bei der größe wohl nur manuell machen können....

            mfg

            Kommentar


            • #7
              wie wäre es mit einer stückchenweise Abarbeitung ?

              PHP-Code:
              $offset=0;
              $size filesize($datei);
              $fp fopen($datei);
              while(
              $offset<$size){
                 
              // Startpunkt setzen
                 
              fseek($fp,$offset);
                 
              // immer 10Kb laden
                 
              $data fread($fp,10240);
                 
              // neuen Startpunkt fürs laden berechnen
                 
              $offset += 10240;
                 
              // hier $data verarbeiten
                 // ...
              }
              fclose($fp); 
              TBT

              Die zwei wichtigsten Regeln für eine berufliche Karriere:
              1. Verrate niemals alles was du weißt!


              PHP 2 AllPatrizier II Browsergame

              Kommentar


              • #8
                Moin,

                TBT, danke. Ich werde das mal testen. Auf jeden Fall dürfte es eine ganz schöne Kacke werden da die Daten folgendermaßen aufgebaut sind:

                0000000001
                00200050018073
                0020006002HYDRA REC
                00200070014016030000008
                00200080013
                0020009001BSSCD 25112
                0020010001VIENNA ON THE ROCKS
                0020010002CONTINENTALS,THE
                0020010004105
                00200100050008
                00200110011
                00200110021
                0020012001IP1
                00200120022250
                00200120091150
                0020013001011015
                0020013002030930
                0020013004030930
                00200150010102010000
                00200150020102010100
                00200150030108020000
                00200150040108040000
                0020018001J
                0020018004H
                0000000001
                00200050018064
                0020006002Eskimo Rec
                0020006004Eskimo Recordings
                00200070019000100000000
                00200080013
                0020009001KIMOCDEP1
                0020010001WONGA EPCD
                0020010002MOOLA
                0020010004113
                00200100050007
                00200110011
                00200110021
                0020012001092I
                0020012002999
                0020012009511
                0020013001001023
                0020013002020405
                0020013004020405

                Wer hat jetzt ne Tüte Mitleid für mich?

                Ok. Ich werde berichten und das Ergebnis posten. Es gibt sicherlich noch andere die solch ein Problem irgendwann mal bekommen werden.

                Danke und Gruß

                Stefan



                Rechtschreibfehler sind beabsichtigt und dienen der allgemeinen Belustigung...
                Zuletzt geändert von teresiak; 13.10.2003, 09:31.

                Kommentar


                • #9
                  Wenn die Daten Deiner Datei nicht in einem "leicht" lesbaren Format vorliegen, dann schreibe eben eine Routine, die genau das erledigt.
                  Ich würde das in eine CSV-Datei umwandeln und dann hast Du mit dem DB-Import keine Probs mehr.
                  Irgendeine Grundstruktur muss die Datei ja haben und sobald Du diese verstanden hast, kannst Du das auch in eine CSV-Datei umwandeln.

                  Kommentar


                  • #10
                    Hallo,

                    ja ist sicherlich eine Methode. Doch muß ich zuerst dahin kommen das ich die Datei verarbeiten kann. Ich bin gerade dabei den Import vorzunehmen. Ob es klappt sehe ich in den nächsten Minuten, Stunde?

                    Grüße

                    Stefan

                    Kommentar

                    Lädt...
                    X