Catalogue des articles
Aperçu des mégadonnées
-
Définitions et caractéristiques
- Calcul de la masse
- Un grand nombre d'utilisateurs
- Analyse des données
- Gestion des données
-
4VCaractéristiques
1.Volume(Beaucoup.)
Jusqu'à présent,La quantité de données pour tous les documents imprimés produits par l'homme est200PB,Et la quantité totale de données sur ce que l'humanité a dit dans l'histoire est d'environ5EB.En cours,La capacité d'un disque dur d'ordinateur personnel typique estTBÉchelle,Et certaines des plus grandes entreprises sont prochesEBÉchelle.
2.Velocity(Haute vitesse)
C'est la caractéristique la plus importante du Big Data qui se distingue de l'exploration traditionnelle des données..SelonIDCDe“Univers numérique”Rapport,Prévisions2020Année,L'utilisation mondiale des données atteindra35.2ZB.Avec une telle quantité de données,,L'efficacité du traitement des données est la vie de l'entreprise.
Tmall Twin 11:2017Année3Points01Secondes,Le chiffre d'affaires de tmall dépasse100100 millions.
3.Variety(Diversité)
Ce type de diversité permet également de diviser les données en données structurées et non structurées.Par rapport à l'ancienne base de données facile à stocker/Données structurées dominées par le texte,De plus en plus de données non structurées,Y compris les journaux de réseau、Audio、Vidéo、Photos、Informations géographiques, etc, Ces différents types de données imposent des exigences plus élevées en matière de capacité de traitement des données. .
4.Value(Densité de faible valeur)
La densité de valeur est inversement proportionnelle à la quantité totale de données .Par exemple,, Dans une vidéo de surveillance d'une journée , Tout ce qui nous intéresse, c'est la minute où on s'entraîne au gymnase la nuit. , Comment traiter rapidement les données précieuses “Purification” Devenir un problème difficile à résoudre dans le contexte actuel des mégadonnées .
Composition des mégadonnées
Modules
- Hadoop Common: The common utilities that support the other Hadoop modules.
- Hadoop Distributed File System (HDFS): A distributed file system that provides high-throughput access to application data.
- Hadoop YARN: A framework for job scheduling and cluster resource management.
- Hadoop MapReduce: A YARN-based system for parallel processing of large data sets.
- Hadoop Ozone: An object store for Hadoop.
Components
-
Système de fichiers distribués:HDFS.Utilisé pour charger le stockage distribué de fichiers sur un serveur avec beaucoup de
-
Cadre informatique distribué:MapReduceImplémenter l'informatique parallèle distribuée sur de nombreuses machines
-
Cadre d'ordonnancement des ressources distribuées:YARNRéaliser la gestion des ressources de la grappe et l'ordonnancement des tâches
HDFSGénéralités
- Caractéristiques
- Distribué
- commodity、low-cost hardware:DécentralisationIoE
- fault-tolerant:Haute tolérance aux défauts , Par défaut
3
Mécanisme de copie - high throughput:L'informatique mobile coûte moins cher que les données mobiles
- large data sets:Ensemble de données à grande échelle , En gros.GBEtTBNiveau
- HDFSDétails architecturaux
-
NameNode(master) / DataNodes(slave) HDFS Suivez le Seigneur./De l'architecture
master/slave
,Par Unique NameNode(NN) Et plusieurs DataNode(DN) Composition:- NameNode : Responsable de la mise en œuvre des Espace de noms du système de fichiers
the file system namespace
Fonctionnement,La plupart des systèmes de fichiers sont similaires (Par exemple: Linux) , Soutien Ajouter, supprimer et modifier la requête Fichiers et répertoires, etc.Il est également responsable du stockage des métadonnées du cluster,Enregistrer l'emplacement des blocs de données individuels dans le fichier. - DataNode:Responsable de fournir les demandes de lecture et d'écriture des clients du système de fichiers,Exécuter la création de blocs,Supprimer, etc.
- NameNode : Responsable de la mise en œuvre des Espace de noms du système de fichiers
-
HDFS Stocker chaque fichier dans une série deBloc,Chaque bloc est protégé contre les défauts par plusieurs copies,Ces blocs sont stockés dans
DN
Moyenne, Bien sûr, la taille et le facteur de réplication de ces blocs peuvent être configurés par eux - mêmes( Par défaut,La taille du bloc est 128M,Le facteur de réplication par défaut est 3 ). -
Environnement opérationnel GNU/Linux Moyenne. HDFS Avec Java Langues
Exemples
Una.txt Total150M UnblocksizePour128M
Ils se séparent.block L'un estblock1: 128M ; L'autre.block2: 22M
Alors la question se pose, block1 Etblock2 Où conserverDNÀ l'intérieur?
C'est Transparent pour les utilisateurs , Ça va marcher. HDFSPour finir
-
NameNode(master)
1)Responsable de la réponse aux demandes des clients
2) Responsable des métadonnées (Nom du fichier、Facteur de copie、BlockStockéDataNodes)Gestion -
DataNodes(slave)
1) Bloc de données pour stocker les fichiers de l'utilisateur (Block)
2) Il est important de NameNodeEnvoyer un message de battement de cœur, Le rapport lui - même et tout ce qu'il contient blockInformation,État de santé -
Facteur de copie
-
It stores each file as a sequence of blocks. The blocks of a file are replicated for fault tolerance. The block size and replication factor are configurable per file.( Par défaut,La taille du bloc est 128M,Le facteur de réplication par défaut est 3)
-
An application can specify the number of replicas of a file. The replication factor can be specified at file creation time and can be changed later.( Facteur de réplication et taille du bloc, C'est modifiable.)
-
Construction de l'environnement
- TéléchargerHadoop
http://archive.cloudera.com/cdh5/cdh/5/
2.6.0-cdh5.7.0
wget http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.7.0.tar.gz
2)Installationjdk
Télécharger
Décompresser àappTable des matières:tar -zxvf jdk-7u51-linux-x64.tar.gz -C ~/app/
Vérifier le succès de l'installation:~/app/jdk1.7.0_51/bin ./java -version
Suggérez debin Configuration du Répertoire aux variables d'environnement système (~/.bash_profile)Moyenne
export JAVA_HOME=/home/hadoop/app/jdk1.7.0_51
export PATH=$JAVA_HOME/bin:$PATH
3) Paramètres de la machine
- Modifier le nom de la machine :
vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=hadoop001
- ParamètresipEthostnameRelations cartographiques pour:
vi /etc/hosts
192.168.199.200 hadoop001
127.0.0.1 localhost
- ssh Connexion sans mot de passe ( Cette étape peut être omise , Mais plus tard, tu redémarres. hadoop Le processus nécessite une entrée manuelle du mot de passe )
ssh-keygen -t rsa
cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
4)HadoopModification du profil:~/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop
- hadoop-env.sh
ConfigurationJavaTable des matièresexport JAVA_HOME=/home/hadoop/app/jdk1.7.0_51
- core-site.xml
Configurer la pseudo - distribution
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop001:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/app/tmp</value>
</property>
- hdfs-site.xml
Ajuster le facteur de copie
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
5)FormatageHDFS
Attention!: Cette étape , Seulement pour la première fois , Chaque fois que vous formatez ,AlorsHDFS Les données sont effacées
~/app/hadoop-2.6.0-cdh5.7.0/bin/hdfs namenode -format
Voir le journal ci - dessous pour le succès
X X X X Xhas been successfully formatted.
6)DémarrageHDFS
~/app/hadoop-2.6.0-cdh5.7.0/sbin/start-dfs.sh
Vérifier le démarrage réussi:
jps
DataNode
SecondaryNameNode
NameNode
Navigateur
http://hadoop001:50070/
7)Arrêtez!HDFS
sbin/stop-dfs.sh
HDFSLes ordres
[[email protected] bin]$ ./hadoop
Usage: hadoop [--config confdir] COMMAND
where COMMAND is one of:
fs run a generic filesystem user client
version print the version
jar <jar> run a jar file
checknative [-a|-h] check native hadoop and compression libraries availability
distcp <srcurl> <desturl> copy file or directories recursively
archive -archiveName NAME -p <parent path> <src>* <dest> create a hadoop archive
classpath prints the class path needed to get the
credential interact with credential providers
Hadoop jar and the required libraries
daemonlog get/set the log level for each daemon
s3guard manage data on S3
trace view and modify Hadoop tracing settings
or
CLASSNAME run the class named CLASSNAME
Most commands print help when invoked w/o parameters.
[[email protected] bin]$ ./hadoop fs
Usage: hadoop fs [generic options]
[-appendToFile <localsrc> ... <dst>]
[-cat [-ignoreCrc] <src> ...]
[-chgrp [-R] GROUP PATH...]
[-chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH...]
[-chown [-R] [OWNER][:[GROUP]] PATH...]
[-copyFromLocal [-f] [-p] [-l] <localsrc> ... <dst>]
[-copyToLocal [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
[-count [-q] [-h] [-v] [-x] <path> ...]
[-cp [-f] [-p | -p[topax]] <src> ... <dst>]
[-df [-h] [<path> ...]]
[-du [-s] [-h] [-x] <path> ...]
[-find <path> ... <expression> ...]
[-get [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
[-getfacl [-R] <path>]
[-getfattr [-R] {-n name | -d} [-e en] <path>]
[-getmerge [-nl] <src> <localdst>]
[-help [cmd ...]]
[-ls [-C] [-d] [-h] [-q] [-R] [-t] [-S] [-r] [-u] [<path> ...]]
[-mkdir [-p] <path> ...]
[-moveFromLocal <localsrc> ... <dst>]
[-moveToLocal <src> <localdst>]
[-mv <src> ... <dst>]
[-put [-f] [-p] [-l] <localsrc> ... <dst>]
[-rm [-f] [-r|-R] [-skipTrash] <src> ...]
[-rmdir [--ignore-fail-on-non-empty] <dir> ...]
[-test -[defsz] <path>]
[-text [-ignoreCrc] <src> ...]
[-touchz <path> ...]
[-usage [cmd ...]]
- Commandes courantes
hadoop fs -ls /
hadoop fs -cat /
hadoop fs -text /
hadoop fs -put /
hadoop fs -copyFromLocal /
hadoop fs -get /README.txt ./
hadoop fs -mkdir /hdfs-test
hadoop fs -mv
hadoop fs -rm
hadoop fs -rmdir
hadoop fs -rmr
==hadoop fs -rm -r
hadoop fs -getmerge
hadoop fs -mkdir /hdfs-test
### MapReduce
MapReduce
Performance bien inférieure àSpark
Et ne convient qu'au traitement hors ligne, pas au traitement en temps réel et au traitement en continu
YARNDétails architecturaux
Apache YARN (Yet Another Resource Negotiator) - Oui. hadoop 2.0 Système de gestion des ressources des grappes introduit . Les utilisateurs peuvent déployer divers cadres de service dans YARN Allez.,Par YARN Gestion unifiée et allocation des ressources .
The fundamental idea of MRv2 is to split up the two major functionalities of the JobTracker, resource management and job scheduling /monitoring, into separate daemons. The idea is to have a global ResourceManager (RM) and per-application ApplicationMaster (AM). An application is either a single job in the classical sense of Map-Reduce jobs or a DAG of jobs.
1 RM(ResourceManager) + N NM(NodeManager)
- Client
- Vers
RM
Soumettre une tâche - Tuer la Mission
- ResourceManager
ResourceManager
Fonctionne normalement comme un processus ultérieur sur une machine autonome , Une grappe activeStatut`ResourceManager`Un seul ,C'est tout Principaux coordonnateurs et gestionnaires des ressources de la grappe .
-2)Démarrage/Surveillance`ApplicationMaster`( Un emploi pour un AM)Et surveillance`NodeManager`- Responsable de l'affectation des ressources à toutes les applications soumises par l'utilisateur , Il est basé sur les priorités de l'application 、 Capacité de la file d'attente 、ACLs、 Emplacement des données, etc. ,Prendre des décisions, Et ensuite partager 、Sécurité、 Stratégie d'allocation multilocataires , Programmer les ressources du cluster .
- NodeManager
Tout au long de la grappe N- Oui., Responsable de la gestion et de l'utilisation des ressources d'un seul noeud et taskFonctionnement
-
NodeManager
- Oui. YARN Chaque détail du cluster Gestionnaire du noeud . -
Principal Responsable de la gestion du cycle de vie de tous les conteneurs de ce noeud unique , Surveiller les ressources et suivre la santé des noeuds .Les détails sont les suivants:
- Démarrage chronométré
ResourceManager
Enregistrer et envoyer régulièrement un message de battement de cœur ,Attendez.ResourceManager
Directives; - Entretien
Container
Le cycle de vie de,SurveillanceContainer
Utilisation des ressources et commandes de démarrage et d'arrêt pour ; - Gérer les dépendances liées à l'exécution des tâches ,Selon
ApplicationMaster
Besoins,Au démarrageContainer
Copier les programmes requis et leurs dépendances localement .
- Démarrage chronométré
- ApplicationMaster
Chaque application/ Un emploi correspondant , Responsable de la gestion des applications
-
Lorsque l'utilisateur soumet une application ,YARN Va démarrer un léger Processus
ApplicationMaster
. -
ApplicationMaster
Responsable de la coordinationResourceManager
Ressources,Et à traversNodeManager
Surveiller l'utilisation des ressources dans le conteneur , Il est également responsable de la surveillance des tâches et de la tolérance aux défaillances. .Les détails sont les suivants:- Déterminer les besoins en ressources informatiques dynamiques en fonction de l'état de fonctionnement de l'application ;
- Vers
ResourceManager
Demande de ressources, Pour l'application RMDemande de ressources(container),Et assigner des tâches internes - Suivre l'état d'avancement des tâches ,NM Communication pour démarrer et arrêter task, taskC'est en cours d'exécution.containerDans
- Responsable de la tolérance aux défaillances des tâches .
- Container
Container
- Oui. YARN Dans Résumé des ressources ,Il encapsule les ressources multidimensionnelles sur un noeud,Comme la mémoire、CPU、Disque、Réseau, etc..- Quand AM Vers RM Lors de la demande de ressources,RM Pour AM Les ressources retournées sont utilisées
Container
Représentation. - YARN Assigne une tâche à chaque tâche
Container
, Cette tâche ne peut utiliser queContainer
Ressources décrites dans .ApplicationMaster
Oui.Container
Exécuter n'importe quel type de tâche à l'intérieur .Par exemple,MapReduce ApplicationMaster
Demande un conteneur pour démarrer map Ou reduce Mission
YARNExécution du processus
-
Client
client
VersyarnCluster
Soumettre un emploi , Tout d'abord,①VersResourceManager
Demande d'allocation de ressources -
Resource Manager
Assigne un emploiContainer(Application manager)
,Container
Ça marche à l'intérieur. (Application Manager) -
Resource Manager
On en trouvera un correspondant.NodeManager
Communications②,ExigencesNodeManager
Icicontainer
Démarrer l'application surApplication Master
③ -
Application Master
VersResource Manager
Demande de ressources④( Adopté par scrutinRPC
Accord),Resource scheduler
Encapsuler les ressources versApplication master
④, -
Application Master
Assigner les ressources acquises à chaqueNode Manager
, Et surveiller le fonctionnement ⑤ -
Node Manage
Obtenir des tâches et des ressources pour commencer à travailler ⑥ -
Les tâches peuvent être subdivisées en: Exécution en premier
Map Task
, Après la fin de l'exécutionReduce Task
Enfin, le résultat est retourné àApplication Master
Soumettre à l'étage supérieur ⑦
YARNConstruction de l'environnement
[[email protected] hadoop]$ pwd
/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop
- mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
- yarn-site.xml
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
Démarrageyarn:sbin/start-yarn.sh
Vérifier le démarrage réussi
jps
ResourceManager
NodeManager
web: http://hadoop001:8088
Arrêtez!yarn: sbin/stop-yarn.sh
SoumettremrAffectation àyarnCours.: wc
hadoop jar /home/hadoop/app/hadoop-2.6.0-cdh5.7.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.7.0.jar wordcount /input/wc/hello.txt /output/wc/
[[email protected] sbin]$ hadoop fs -ls /output/wc
20/10/16 05:17:27 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Found 2 items
-rw-r--r-- 1 hadoop supergroup 0 2020-10-16 04:54 /output/wc/_SUCCESS
-rw-r--r-- 1 hadoop supergroup 26 2020-10-16 04:54 /output/wc/part-r-00000
[[email protected] sbin]$ hadoop fs -cat /output/wc/part-r-00000
20/10/16 05:17:52 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
hello 2
welcome 2
world 1
HiveConstruction de l'environnement
Hive | RDBMS | |
---|---|---|
Langue de requête | Hive SQL | SQL |
Stockage des données | HDFS | Raw Device or Local FS |
Index | Aucune( Le soutien est faible ) | Oui. |
Mise en œuvre | MapReduce、 Tez | Excutor |
Délai d'exécution | Élevé,Hors ligne | Faible , En ligne |
Taille des données | Très gros., Grand | Petit |
Hive Les moteurs d'exécution sous - jacents sont: :MapReduce、Tez、Spark
Hive on MapReduce
Hive on Tez
Hive on Spark
1)HiveTélécharger:http://archive.cloudera.com/cdh5/cdh/5/
wget http://archive.cloudera.com/cdh5/cdh/5/hive-1.1.0-cdh5.7.0.tar.gz
2)Décompresser
tar -zxvf hive-1.1.0-cdh5.7.0.tar.gz -C ~/app/
3)Configuration
Variables d'environnement du système(~/.bahs_profile)
export HIVE_HOME=/home/hadoop/app/hive-1.1.0-cdh5.7.0
export PATH=$HIVE_HOME/bin:$PATH
Implémenter l'installation d'un `mysql, yum install xxx`
Entrée/home/hadoop/app/hive-1.1.0-cdh5.14.2/conf
4)cp hive-env.sh.template hive-env.sh
hive-env.sh
ModifierHADOOP_HOME
5)Nouveauhive-site.xmlDocumentation
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/sparksql?createDatabaseIfNotExist=true useUnicode=true characterEncoding=UTF-8 useSSL=false</value>#Sinon, une erreur sera signaléeMySQLRelation de version
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>root</value>
</property>
</configuration>
6)Copiemysql Drive to $HIVE_HOME/lib/
https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.30.zipTélécharger
scp mysql-connector-java-5.1.30-bin.jar ~/app/hive-1.1.0-cdh5.14.2/lib/
7)Démarragehive: $HIVE_HOME/bin/hive
À propos deHive Pour plus de détails, voir :https://www.cnblogs.com/hiszm/p/13616589.html
Configurer la machine virtuelle
- ModifieripAdresse
[[email protected] software]$ sudo vi /etc/hosts
[[email protected] software]$ cd /etc/sysconfig/network-scripts/
[[email protected] network-scripts]$ ls
ifcfg-eth0 ifdown-isdn ifup-aliases ifup-plusb init.ipv6-global
ifcfg-lo ifdown-post ifup-bnep ifup-post net.hotplug
ifdown ifdown-ppp ifup-eth ifup-ppp network-functions
ifdown-bnep ifdown-routes ifup-ippp ifup-routes network-functions-ipv6
ifdown-eth ifdown-sit ifup-ipv6 ifup-sit
ifdown-ippp ifdown-tunnel ifup-isdn ifup-tunnel
ifdown-ipv6 ifup ifup-plip ifup-wireless
[[email protected] network-scripts]$ sudo vi ifcfg-eth0
[[email protected] network-scripts]$ sudo vi ifcfg-eth0
[[email protected] ~]$ ping baidu.com
PING baidu.com (220.181.38.148) 56(84) bytes of data.
64 bytes from 220.181.38.148: icmp_seq=1 ttl=51 time=294 ms
64 bytes from 220.181.38.148: icmp_seq=2 ttl=51 time=742 ms
64 bytes from 220.181.38.148: icmp_seq=3 ttl=51 time=541 ms
- DémarrageHDFS
[[email protected] sbin]$ pwd
/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/sbin
[[email protected] sbin]$ ./start-dfs.sh
20/10/16 00:57:03 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Starting namenodes on [hadoop001]
hadoop001: Warning: Permanently added the RSA host key for IP address '192.168.43.214' to the list of known hosts.
hadoop001: starting namenode, logging to /home/hadoop/app/hadoop-2.6.0-cdh5.7.0/logs/hadoop-hadoop-namenode-hadoop001.out
localhost: starting datanode, logging to /home/hadoop/app/hadoop-2.6.0-cdh5.7.0/logs/hadoop-hadoop-datanode-hadoop001.out
Starting secondary namenodes [0.0.0.0]
0.0.0.0: starting secondarynamenode, logging to /home/hadoop/app/hadoop-2.6.0-cdh5.7.0/logs/hadoop-hadoop-secondarynamenode-hadoop001.out
20/10/16 00:58:17 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
[[email protected] sbin]$ jps
3374 Jps
2952 NameNode
3187 SecondaryNameNode
3044 DataNode
- DémarrageYARN
[[email protected] sbin]$ pwd
/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/sbin
[[email protected] sbin]$ ./start-yarn.sh
starting yarn daemons
starting resourcemanager, logging to /home/hadoop/app/hadoop-2.6.0-cdh5.7.0/logs/yarn-hadoop-resourcemanager-hadoop001.out
localhost: starting nodemanager, logging to /home/hadoop/app/hadoop-2.6.0-cdh5.7.0/logs/yarn-hadoop-nodemanager-hadoop001.out
[[email protected] sbin]$ jps
3573 Jps
3438 ResourceManager
2952 NameNode
3534 NodeManager
3187 SecondaryNameNode
3044 DataNode
- DémarrageHive
[[email protected] bin]$ pwd
/home/hadoop/app/hive-1.1.0-cdh5.7.0/bin
[[email protected] bin]$ ./hive
ls: cannot access /home/hadoop/app/spark-2.1.0-bin-2.6.0-cdh5.7.0/lib/spark-assembly-*.jar: No such file or directory
which: no hbase in (/home/hadoop/app/spark-2.1.0-bin-2.6.0-cdh5.7.0/bin:/home/hadoop/app/scala-2.11.8/bin:/home/hadoop/app/hive-1.1.0-cdh5.7.0/bin:/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/bin:/home/hadoop/app/apache-maven-3.3.9/bin:/home/hadoop/app/jdk1.7.0_51/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin)
Logging initialized using configuration in jar:file:/home/hadoop/app/hive-1.1.0-cdh5.7.0/lib/hive-common-1.1.0-cdh5.7.0.jar!/hive-log4j.properties
WARNING: Hive CLI is deprecated and migration to Beeline is recommended.
hive> show tables
> ;
OK
dept
emp
hive_wordcount
Time taken: 3.118 seconds, Fetched: 3 row(s)
hive>
版权声明
本文为[Sun zhongming]所创,转载请带上原文链接,感谢
https://cdmana.com/2021/10/20211013211945049i.html