Linux couper de gros fichiers

La nécessité de leur analyse de fichier journal de travail quotidien, lorsque le fichier journal est trop grand, utilisez Linux vim, chat, grep, awk et d'autres outils pour les gros fichiers journaux pour l'analyse deviendra un cauchemar, en particulier:

  • La lenteur de la mise en œuvre, le contenu du fichier à charger dans la mémoire, impliquant un grand nombre de lecture du disque;

  • Consommer trop de ressources, les besoins d'espace de fichier journal au moins une 4G 4G de mémoire, plus?

  • RÉSUMÉ difficile à réutiliser, le fichier de sortie sera traitée lors de l'analyse de documents tuyau de filtre, il est difficile de réutiliser des fichiers volumineux;

  • difficultés de transfert de fichiers, doivent transférer de gros fichiers à d'autres personnes pour analyser le fichier est trop grand, le montant total de la bande passante consommée grande

1 Vérifiez la douleur de gros fichiers

Big data traitement hors ligne des Hadoop-cadre peut gérer ces scénarios, mais Hadoop prend également beaucoup de temps à calculer, mais aussi besoin d'écrire tâche MapReduce, certes apporter une plus grande difficulté et les défis de cette approche. Hadoop est coupé en gros fichiers par plusieurs petits fichiers, MapReduce par de multiples tâches à effectuer un traitement parallèle, Linux fournit un outil facile à utiliser Split, vous pouvez obtenir le fichier en plusieurs petits fichiers.

divisé fournit deux façons de couper le fichier:

  • Le nombre de lignes de coupe, désignée par le nombre de lignes à découper paramètre -l

  • La taille de la coupe, coupé à la taille par la nécessité de spécifier le paramètre -b

2.1 Réduire le nombre de lignes

Pas grand journal local, connectez-vous Prenez petite démonstration, indiquez la division en ligne de nom de fichier, les paramètres -d sont affichés numériquement

[root @ iZ1la3d1xbmukrZ ~] # wc - l err_20190907.log
 3427 err_20190907.log 
[root @ iZ1la3d1xbmukrZ ~] # 300 -d -l séparation --verbose err_20190907.log dédoublé ligne la 
création du fichier 'partagé - line00' la 
création du fichier « divisé - line01' la 
création du fichier « partagé - Line02 » la 
création du fichier « partagé - Line03 » la 
création du fichier « partagé - line04 » la 
création du fichier « partagé - line05 » la 
création du fichier « divisé - Line06 » la 
création du fichier « partagé - Line07 » la 
création du fichier « divisé -line08' la 
création du fichier 'partagé - line09' la 
création du fichier 'divisé - ligne 10' 
création du fichier 'divisé - Line11' 
[root @ iZ1la3d1xbmukrZ ~] # ls -lH split-line0 [0-9 ]
 rw-r - r-- une racine racine 28K 11 mars 19:50 dédoublé line00
 -rw-r - r-- 1 root root 27K 11 mars 19:50 dédoublé line01
 -rw-r - r-- 1 root root 24K 11 mars 19: 50 dédoublé Line02
 -rw-r - r-- 1 root root 24K 11 mars 19:50 dédoublé Line03
 -rw-r - r-- 1 root root 23K 11 mars 19:50 dédoublé line04
 -rw-r -R- 1 root root 18K 11 mars 19h50 dédoublé line05
 -rw-r - r-- 1 root root 26K 11 mars 19h50 Split-Line06
 -rw-r - r-- 1 root root 25K 11 mars 19:50 dédoublé Line07
 -rw-r - r-- 1 root root 24K 11 mars 19:50 dédoublé line08
 -rw-r - r - 1 root root 24K 11 mars 19h50 split-line09

Une fois le nombre de lignes fera automatiquement la coupe, qui a atteint 300 après la ligne de découpe automatique automatiquement numérique nommé par nom de fichier de paramètres -d, après la coupe, chaque taille de fichier de 24K, cette fois-ci pour analyser le fichier sera beaucoup plus facile, tandis que le nombre de fichiers sera beaucoup de façons dont vous pouvez augmenter le nombre de coupe de lignes, l'analyse pratique.

2.2 en fonction de la taille de la coupe

En plus de réduire en fonction du nombre de rangées, Split prend en charge la taille du fichier par découpe, la découpe en spécifiant le paramètre -b de taille de fichier, des unités de soutien de taille de fichier K, M, G, T, P, E, Z, suit à couper 30K présentations de coupe processus

[root @ iZ1la3d1xbmukrZ ~] # split -b 30K -d --verbose err_20190907.log split-taille la 
création du fichier 'dédoublé size00' la 
création du fichier 'partagé - size01' la 
création du fichier 'divisé - size02' la 
création du fichier 'divisé - size03' la 
création du fichier 'partagé - size04' la 
création du fichier 'partagé - size05' la 
création du fichier 'partagé - size06' la 
création du fichier 'divisé - size07' la 
création du fichier 'partagé - size08' la 
création du fichier 'divisé - size09' 
[root @ iZ1la3d1xbmukrZ ~] #ll -h 
total de 916K
 -rw-r - r-- 1 root root 273K 11 mars 19h47 err_20190907.log
 -rw-r - r-- 1 root root 28K 11 mars 19h50 dédoublé line00
 -rw- r - r-- 1 root root 27K 11 mars 19:50 dédoublé line01
 -rw-r - r-- 1 root root 24K 11 mars 19:50 dédoublé Line02
 -rw-r - r-- 1 root racine 24K 11 mars 19:50 dédoublé Line03
 -rw-r - r-- 1 root root 23K 11 mars 19:50 dédoublé line04
 -rw-r - r-- 1 root root 18K 11 mars 19:50 fendu - line05
 -rw-r - r-- 1 root root 26K 11 mars 19h50 dédoublé Line06
 -rw-r - r-- 1 root root 25K 11 mars 19h50 dédoublé Line07
 -rw-r-- r-- 1 root 24K 11 mars 19h50 racine dédoublé line08
rw-r - r-- 1 root root 24K 11 mars 19h50 dédoublé line09
 -rw-r - r-- 1 root root 24K 11 mars 19h50 dédoublé ligne 10
 -rw-r - r- - 1 root root 9.8K 11 mars 19h50 dédoublé Line11
 -rw-r - r-- 1 root root 30K 11 mars 19h52 dédoublé size00
 -rw-r - r-- 1 root root 30K 11 mars 19:52 dédoublé size01
 -rw-r - r-- 1 root root 30K 11 mars 19h52 dédoublé size02
 -rw-r - r-- 1 root root 30K 11 mars 19h52 dédoublé size03
 -RW -r - r-- 1 root root 30K 11 mars 19h52 dédoublé size04
 -rw-r - r-- 1 root root 30K 11 mars 19h52 dédoublé size05
 -rw-r - r-- 1 root root 30K 11 mars 19h52 dédoublé size06
rw-r - r-- 1 root root 30K 11 mars 19h52 dédoublé size07
 -rw-r - r-- 1 root root 30K 11 mars 19h52 dédoublé size08
 -rw-r - r- - 1 root root 2.8K 11 mars 19h52 dédoublé size09 
drwxr -XR-x 13 root root 4.0K Mar 3 18:03 utils 
[root @ iZ1la3d1xbmukrZ ~] #

Plus de 2.3 fusion de fichiers

fendu couper un gros fichier en plusieurs petits fichiers, si plusieurs petits fichiers en un seul fichier que vous devez comment faire face?
Vous pouvez utiliser la redirection de manière de fichiers, après la présentation de deux petits fichiers en un seul fichier

 Faites glisser le droit de voir la commande complète

[root @ iZ1la3d1xbmukrZ ~] # cat split-line00 split-line01> deux fichiers fusion 
[root @ iZ1la3d1xbmukrZ ~] # ll 
totale 624 
rw-r - r-- 1 root root 279331 11 mars 19h47 err_20190907. journal
 de-r - r-- 1 root root 28017 11 mars 19:50 dédoublé line00
 -rw-r - r-- 1 root root 27386 11 mars 19:50 dédoublé line01
 -rw-r - r - 1 root root 24354 11 mars 19:50 dédoublé Line02
 -rw-r - r-- 1 root root 24409 11 mars 19:50 dédoublé Line03
 -rw-r - r-- 1 root root 23434 11 mars 19:50 dédoublé line04
 -rw-r - r-- 1 root root 18207 11 mars 19:50 dédoublé line05
 -rw-r - r-- 1 root root 26139 11 mars 19:50 dédoubléLine06
 -rw-r - r-- 1 root root 25057 11 mars 19:50 dédoublé Line07
 -rw-r - r-- 1 root root 24536 11 mars 19:50 dédoublé line08
 -rw-r - r - 1 root root 23926 11 mars 19:50 dédoublé line09
 -rw-r - r-- 1 root root 23863 11 mars 19:50 dédoublé ligne 10
 -rw-r - r-- 1 root root 10003 11 mars 19:50 dédoublé Line11
 -rw-r - r-- 1 root root 55403 11 mars 19h51 deux -file -merge

Fusion en lisant le fichier de la redirection de sortie de façon +, il y aura des performances pour les gros fichiers le même problème, il est recommandé d'utiliser au besoin

Je suppose que tu aimes

Origine www.cnblogs.com/dalianpai/p/12464980.html
conseillé
Classement