• Call us: 1(704) - 858 - 0065
  • Email us: dmngaya@dmnbigdata.com
  • Working Hours: 8am - 6pm

Analyse de données Twitter avec Apache Hadoop

ANALYSE DE DONNÉES DE TWITTER AVEC APACHE HADOOP

Déclaration du problème: Les plates-formes de médias sociaux telles que Twitter offrent un accès facile au grand public pour exprimer ses opinions. Les opinions positives ou négatives sur une entreprise ou sur ses produits et services peuvent se déplacer très rapidement sur les réseaux sociaux et avoir un impact significatif sur la valeur de la marque et la part de marché de cette entreprise. Par conséquent, les entreprises ont besoin de méthodes et d’outils efficaces pour surveiller les messages sur Twitter, en temps réel, liés à l’entreprise.

Motivations:
L’objectif principal est d’analyser les données en continu de Twitter via des retweets sur les produits et services d’une entreprise et de comprendre de quoi les gens parlent, afin de réagir rapidement à la publicité négative et de tirer parti des médias sociaux pour la publicité et la construction de la marque. .

Objectifs:
L’objectif principal est de mettre en place un système efficace d’extraction, de chargement et d’analyse des données en streaming Twitter en temps réel et d’analyser les messages afin de comprendre l’opinion publique sur les produits et services des entreprises.

Solutions proposées:
Nous allons répondre aux questions ci-dessus en utilisant des requêtes SQL: Nous voulons déterminer quels utilisateurs sont responsables du plus grand nombre de retweets pour rechercher les utilisateurs influents, par ordre décroissant du nombre le plus élevé de retweet.
Nous allons utiliser les fuseaux horaires pour avoir une idée de l’endroit où se trouvent les utilisateurs dans le monde.
Nous pouvons également formuler des requêtes plus complexes pour répondre à des questions telles que «Quels étaient les hashtags les plus courants?».
Nous utilisons Apache Flume, Apache HDFS, Apache Oozie et Apache Hive pour concevoir un pipeline de données de bout en bout qui nous permettra d’analyser les données Twitter.

Étape 1: Mon environnement de travail
1.1 Cloudera Manager et CDH4.4

La version 6.2 (finale) de Red Hat CentOS (64 bits) dans Cloudera quickstart VM 4.4.0 avec Hadoop 2.0.0-cdh4.4.0 .check it this here:
cloudera_quickstart

Nous avons besoin des composants principaux suivants: cluster à nœud unique Hadoop 2.0.0, Flume, Oozie et Hive.

1.2 Installer MySQL


MySQL est la base de données recommandée pour la base de données Oozie et le métastore Hive.

Cliquez ici: MySQL-linux-installation-native.html pour la documentation d’installation.
Commande pour exécuter l’installation de MySQL:

Démarrer notre démon MySQL:

Étape 2: Configuration du canal Apache:
2.1 Créer un jeton d’accès Twitter:

Créer un compte twitter: Aller à https://dev.twitter.com et à mes applications, créez ensuite un compte Twitter comme indiqué ci-dessous.

2.2 Créer mon application comme indiqué ci-dessous dans les captures d’écran.

2.3 Détails sur ma candidature

2.4 Bouton Créer mon jeton d’accès dans la section «Clés et jetons d’accès»

Mon jeton d’accès a été généré dans un certain temps que j’aurais besoin d’utiliser dans le fichier flume.conf pour la configuration du canal dans les prochaines étapes..

Étape 3: Configuration de l’agent de canal:
3.1 Construire ou télécharger la source personnalisée Flume

Allez sur ce lien et téléchargez le code à partir d’ici (https://github.com/cloudera/cdh-twitter-example).

Dans notre cas, nous utilisons le fichier jar partagé avec twitter-project, puis nous l’avons téléchargé dans le répertoire / home / cloudera / Downloads:

3.2 Ajouter le fichier JAR au classpath de Flume

Avec le flume-sources-jar partagé dans le dossier twitter-project.

[php]sudo cp flume-sources-1.0-SNAPSHOT.jar /usr/lib/flume-ng/lib/
sudo chmod +r /usr/lib/flume-ng/lib/flume-sources-1.0-SNAPSHOT.jar[/php]

3.3 Créez un répertoire HDFS “/user /cloudera /twitter/” où vous obtiendrez les entrées Twitter.

[php]hdfs dfs -mkdir /user/cloudera/twitter/[/php]

3.4 Editez flume conf “flume-sources / flume.conf” pour changer les clés Twitter, les jetons et le chemin d’accès hdfs.

Utiliser les jetons d’accès Twitter du compte Twitter. Changer le chemin HDFS en

[php]“/user/cloudera/twitter/%Y/%m/%d/%H/”[/php]

[php]pwd
cat /home/cloudera/Downloads/flume-sources/flume.conf[/php]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
# Sous licence Apache Software Foundation (ASF)
Nombre ou plus de contrats de licence de contributeur. Voir le fichier AVIS
# distribué avec ce travail pour des informations supplémentaires
# concernant la propriété du droit d'auteur. L'ASF autorise ce fichier
# à vous sous la licence Apache, version 2.0 (le
# "Licence"); vous ne pouvez pas utiliser ce fichier sauf en conformité
# avec la licence. Vous pouvez obtenir une copie de la licence à l'adresse
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Sauf si requis par la loi applicable ou accepté par écrit,
Le logiciel distribué sous licence est distribué sur un ordinateur.
# "TEL QUEL", SANS GARANTIES OU CONDITIONS DE TOUTE
# KIND, soit explicite ou implicite. Voir la licence pour le
# langage spécifique régissant les autorisations et les limitations
# sous la licence.
# Le fichier de configuration doit définir les sources,
# les canaux et les éviers.
# Les sources, canaux et puits sont définis par agent,
# dans ce cas appelé 'TwitterAgent'
TwitterAgent.sources = Twitter
TwitterAgent.channels = MemChannel
TwitterAgent.sinks = HDFS
TwitterAgent.sources.Twitter.type = com.cloudera.flume.source.TwitterSource
TwitterAgent.sources.Twitter.channels = MemChannel
TwitterAgent.sources.Twitter.consumerKey = M0zPfqY7IgI8oKRnZn0o6U6Me
TwitterAgent.sources.Twitter.consumerSecret = ARwzrT4kFe22S3OUPQZuXaHNYGlkyyLdMvMJDwJwXyb3gJQToi
TwitterAgent.sources.Twitter.accessToken = 2898574486-20SikvAYDykhFFEepxTVyM5yIAERWXq5KQJDXgO
TwitterAgent.sources.Twitter.accessTokenSecret = hvnVYZn07GT5DnVjJqC3YTG6Mwwv0wgEALoAuldaaKLrx
TwitterAgent.sources.Twitter.keywords = hadoop, big data, analytics, bigdata, cloudera, data science,
data scientiest, business intelligence, mapreduce, data warehouse, data warehousing, mahout, hbase,
nosql, newsql, businessintelligence, cloudcomputing
TwitterAgent.sinks.HDFS.channel = MemChannel
TwitterAgent.sinks.HDFS.type = hdfs
#TwitterAgent.sinks.HDFS.hdfs.path = hdfs://hadoop1:8020/user/flume/tweets/%Y/%m/%d/%H/
TwitterAgent.sinks.HDFS.hdfs.path = /user/cloudera/twitter/%Y/%m/%d/%H/
TwitterAgent.sinks.HDFS.hdfs.fileType = DataStream
TwitterAgent.sinks.HDFS.hdfs.writeFormat = Text
TwitterAgent.sinks.HDFS.hdfs.batchSize = 1000
TwitterAgent.sinks.HDFS.hdfs.rollSize = 0
TwitterAgent.sinks.HDFS.hdfs.rollCount =0
TwitterAgent.channels.MemChannel.type = memory
TwitterAgent.channels.MemChannel.capacity = 100000
TwitterAgent.channels.MemChannel.transactionCapacity = 10000

Étape 4: Configuration d’Apache Hive:
4.1 Construire ou télécharger le serde JSON

Une version prédéfinie du service JSON SerDe est disponible à l'adresse suivante: http: //files.cloudera.com/samples/hive-serdes-1.0-SNAPSHOT.jar.
Le répertoire hive-serdes contient un projet Maven avec un JSON SerDe qui permet à Hive d’interroger des données JSON brutes.
Pour construire le JAR hive-serdes à partir de la racine du référentiel git:[php]cd hive-serde mvn package cd ../..[/php]

Cela générera un fichier appelé hive-serdes-1.0-SNAPSHOT.jar dans le répertoire cible.
4.2 Créer la hiérarchie du répertoire Hive

[php]sudo -u hdfs hadoop fs -mkdir /user/hive/warehouse
sudo -u hdfs hadoop fs -chown -R hive:hive /user/hive
sudo -u hdfs hadoop fs -chmod 750 /user/hive
sudo -u hdfs hadoop fs -chmod 770 /user/hive/warehouse
hdfs dfs –ls -R 770 /user/hive[/php]

Vous voudrez également ajouter l’utilisateur que vous envisagez d’exécuter des scripts Hive au groupe hive Unix:

[php]sudo usermod -a -G hive[/php]

4.3 Configurer le métastore Hive
4.3.1 Une fois l’installation terminée et le démarrage du démon mysql, vérifiez son statut.

Le métastore Hive doit être configuré pour utiliser MySQL. Suivez ces instructions pour installer mysql puis pour configurer le metastore.

4.3.2 Configurer le service et le connecteur MySQL

Assurez-vous d’installer le pilote JDBC MySQL dans / var/lib/hive/lib.

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
[cloudera @ localhost network-scripts] $ sudo yum installez mysql-connector-java
Plugins chargés: le plus rapide
Configuration du processus d'installation
Chargement des vitesses de miroir depuis le fichier hôte mis en cache
epel / metalink | 13 ko
* base: bay.uchicago.edu
* epel:
fedora.mirrors.pair.com
* extras: centos.eecs.wsu.edu
* rpmforge: apt.sw.be
* updates: centos.sonn.com
base | 3.7 kB
cloudera-cdh4 | 951 B
cloudera-gplextras | 951 B 00:00
cloudera-impala| 951 B 00:00
cloudera-manager| 951 B 00:00
cloudera-search| 951 B 00:00
epel| 4.4 kB 00:00
epel/primary_db84% [===========epel/primary_db 88% [===========epel/primary_db 92% [===========epel/primary_db | 6.6 MB 00:11
extras | 3.4 kB 00:00
rpmforge| 1.9 kB 00:00
updates| 3.4 kB 00:00
updates/primary_db | 3.3 MB 00:08 vmware-tools | 951 B 00:00
Package 1:mysql-connector-java-5.1.17-6.el6.noarch déjà installé et dernière version
Rien à faire
Rien à faireNothing to do
 

4.3.3 Créer la base de données et l’utilisateur

[php]mysql -u root –p
Entrer le mot de passe:
mysql> CREATE DATABASE metastore;
mysql> USE metastore;
mysql> SOURCE /usr/lib/hive/scripts/metastore/upgrade/mysql/hive-
schema-0.10.0.mysql.sql;[/php]

4.3.4 Configurer le service Metastore pour qu’il communique avec la base de données MySQL
Le fichier hive-site.xml se trouve sur /etc/hive/conf

Étape 5: Créez la table tweets_partenced:
5.1 Exécutez la commande suivante pour construire la bibliothèque SerDe.

[php]cd hive-serdes
mvn clean install –DskipTests[/php]

Pour notre cas, vous utilisez le pot qui est partagé sous twitter-project.

5.2 Démarrez ruche en utilisant la commande ruche.

5.3 Ajoutez maintenant jar en utilisant la commande add jar comme indiqué ci-dessous.

Hive> add jar /home/cloudera/Downloads/hive-serdes/hive-serdes-1.0-SNAPSHOT.jar;

 

5.4 Créez une table externe dans la ruche comme indiqué ci-dessous.

 

Voir ci-dessous la capture d’écran pour tweets_partenced:

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ruche> décrire étendu tweets_partional;
D'accord
voir bigint de désérialiseur
created_at chaîne du désérialiseur
chaîne source du désérialiseur
booléen favori de désérialiseur
struct retweeted_status du désérialiseur
entités struct <urls: array, user_mentions: array, hashtags: array> à partir du désérialiseur
chaîne de texte du désérialiseur
struct utilisateur de désérialiseur
in_reply_to_screen_name chaîne du désérialiseur
année int
mois int
dt int
d intour
Informations détaillées sur la table Table (tableName: tweets_partenced, dbName: défaut, propriétaire: cloudera, createTime: 1434769977, lastAccessTime: 0, conservation: 0, sd: StorageDescriptor (colonnes: [Schéma de champ (nom: seid, type: bigint, commentaire: null) , FieldSchema (name: created_at, type: string, comment: null), FieldSchema (nom: source, type: string, comment: null), FieldSchema (nom: favorited, type: boolean, comment: null), FieldSchema (name: retweeted_status, type: struct, commentaire: null), FieldSchema (nom: entités, type: struct <urls: array, user_mentions: array, hashtags: array>, comment: null), FieldSchema (nom: text, type: string, comment : null), FieldSchema (nom: utilisateur, type: struct, commentaire: null), FieldSchema (nom: in_reply_to_screen_name, type: chaîne, commentaire: null)], emplacement: hdfs: //localhost.localdomain: 8020 / user / cloudera / twitter, inputFormat: org.apache.hadoop.mapred.TextInputFormat, outputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat, compressé: false, numBuckets: -1, serdeInfo: SerDeInfo: SerDeInfo (nom, invalidité) ib: com.cloudera.hive.serde.JSONSerDe, paramètres: {serialization.format = 1}), bucketCols: [], sortCols: [], paramètres: {}, skewedInfo: skewedInfo (skewedColNames: [], skewedColValues: [ ], skewedColValueLocationMaps: {}), storageAsSubDirectories: false), partitionKeys: [FieldSchema (nom: année, type: int, commentaire: null), FieldSchema (nom: mois, type: int, commentaire: null), FieldSchema (nom: dt, type: int, commentaire: null), FieldSchema (nom: dthour, type: int, commentaire: null)],
paramètres: {totalSize = 442522876, EXTERNAL = TRUE,numRows = 0, rawDataSize = 0, numFiles = 9238, numPartitions = 89, transient_lastDdlTime = 1434776297},
viewOriginalText: null, viewExpandedText: null, tableType: EXTERNAL_TABLE)

Étape 6: Configuration du flux de travail Apache Oozie:

6.1 Configurer Oozie pour utiliser MySQL

Si vous utilisez Cloudera Manager, nous avons reconfiguré Oozie pour utiliser MySQL via la page de configuration du service de l’onglet Bases de données. Nous redémarrons le service Oozie après reconfiguration. Nous avons installé le pilote JDBC MySQL dans / usr / lib / oozie / libext.

Voir ci-dessous la capture d’écran de la console Web Oozie:

 

6.2 Créez un répertoire lib et copiez-y tous les fichiers JAR externes nécessaires.

Les fichiers JAR externes sont fournis à Oozie via un répertoire lib dans le répertoire de flux de travail. Le flux de travail nécessitera une copie du pilote JDBC MySQL et du fichier JAR hive-serdes.

6.3 Copier le fichier hive-site.xml dans le répertoire oozie

Pour exécuter l’action Hive, Oozie a besoin d’une copie du fichier hive-site.xml.

[php]sudo cp /etc/hive/conf/hive-site.xml /home/cloudera/oozie
sudo chown oozie:oozie /home/cloudera/oozie/hive-site.xml[/php]

6.4 Copier le répertoire oozie sur HDFS

[php]hdfs dfs -put oozie /user/cloudera/[/php]

6.5 Installer l’Oozie ShareLib dans HDFS

[php]sudo -u hdfs hadoop fs -mkdir /user/oozie/share/lib
sudo -u hdfs hadoop fs –chown oozie:oozie /user/oozie/share/lib[/php]

Pour pouvoir utiliser l’action Hive, vous devez installer Oozie ShareLib. Les instructions d’installation peuvent être trouvées ici:http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH4/4.2.1/CDH4-Installation-Guide/cdh4ig_topic_17_6.html.

Étape 7: démarrage du pipeline de données:
7.1 Démarrer l’agent Flume

Créez la hiérarchie de répertoires HDFS pour le récepteur Flume. Assurez-vous qu’il sera accessible à l’utilisateur exécutant le flux de travail Oozie.

[php]hdfs dfs –mkdir /user/cloudera/twitter
cd Download/flume-sources
flume-ng agent -n TwitterAgent -c conf -f flume.conf[/php]

Voir ci-dessous la capture d’écran de l’agent Flume:

La capture d’écran a été tronquée par moi-même.
7.2 Dans quelque temps, le fichier commencera à arriver dans HDFS. Vérifiez en utilisant la commande ci-dessous.

[php]hdfs dfs -ls /user/cloudera/twitter[/php]

Voir tous les résultats sur ce fichier joint appelé
7.3 Ajuster l’heure de début du flux de travail du coordinateur Oozie dans job.properties

Vous devrez modifier le fichier job.properties et modifier les paramètres jobStart, jobEnd et initialDataset. Les heures de début et de fin sont exprimées en UTC, car la version de Oozie fournie dans CDH4 ne prend pas encore en charge les fuseaux horaires personnalisés pour les flux de travail. Le jeu de données initial doit être défini sur quelque chose d’avant l’heure de début réelle de votre travail dans votre fuseau horaire local. De plus, le paramètre tzOffset doit être défini sur la différence entre le fuseau horaire et le fuseau horaire du serveur. Par défaut, il est défini sur -8, ce qui est correct pour l’heure du Pacifique.

[php]hdfs dfs -cat oozie/job.properties[/php]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
# Sous licence Apache Software Foundation (ASF)
Nombre ou plus de contrats de licence de contributeur. Voir le fichier AVIS
# distribué avec ce travail pour des informations supplémentaires
# concernant la propriété du droit d'auteur. L'ASF autorise ce fichier
# à vous sous la licence Apache, version 2.0 (le
# "Licence"); vous ne pouvez pas utiliser ce fichier sauf en conformité
# avec la licence. Vous pouvez obtenir une copie de la licence à l'adresse
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Sauf si requis par la loi applicable ou convenu par écrit, les logiciels
# distribué sous licence est distribué "TEL QUEL",
# SANS GARANTIES OU CONDITIONS DE TOUTE NATURE, expresse ou implicite.
# Voir la Licence pour le langage spécifique régissant les autorisations et
Nombre de limitations dans la licence.
#
nameNode = hdfs: //localhost.localdomain: 8020
jobTracker = localhost.localdomain: 8021
workflowRoot = $ {nameNode} / user / $ {user.name} / oozie# jobStart et jobEnd doivent être au format UTC, car Oozie ne prend pas encore en charge
# customtimezones
jobStart = 2015-06-16T21: 00Z
jobEnd = 2015-12-22T03: 00Z
# Ceci devrait être réglé à une limite d'heure. Dans ce cas, il est réglé sur 8 heures
# avant le début de l'emploi, puisque PST est GMT-8
# initialDataset = 2012-08-23T09: 00Z
initialDataset = 2015-06-16T01: 00Z
# Décalage de fuseau horaire entre UTC et le fuseau horaire du serveur
tzOffset=-8
oozie.use.system.libpath=true
oozie.coord.application.path=${nameNode}/user/${user.name}/oozie/coord-app.xml

Voir tous les résultats sur ce fichier joint appelé

7.4 Démarrer le flux de travail du coordinateur Oozie
Sur ce cas, nous avons utilisé Oozie, le 2015/06/16 après avoir démarré l’agent Start de Flume:
Capture d’écran pour démarrer le coordinateur oozie:

[php]oozie job -oozie http://localhost:11000/oozie -config oozie/job.properties –run[/php]

Une fois cette commande exécutée, le coordinateur créait et exécutait des instances du flux de travail toutes les heures. Les données devenaient automatiquement interrogeables via Hive au fur et à mesure de la création des partitions.

Ci-dessous les informations sur l’identifiant du travail:
Capture d’écran de la console Web Oozie indiquant l’état des tâches:

Capture d’écran pour Job DAG:

Capture d’écran du navigateur de fichiers:

Étape 8: Pour rechercher des célébrités ou des personnes influentes en interrogeant des données semi-structurées avec Apache Hive:

8.1 Charger les données de streaming Twitter depuis hdfs vers la table hive en utilisant la commande load:

Chargez les données de streaming Twitter de hdfs vers la table hive que j’ai obtenue en mai 2015 (voir l’étape 7) en utilisant le script shell ci-dessous pour générer toutes les commandes de chargement:

[php]if [ -f /home/cloudera/load.hive ] ;
then
echo >/home/cloudera/load.hive
fi
for dt in $(hdfs dfs -ls /user/cloudera/twitter/2015/05/|awk '{print $8}'|awk -F "/" '{print $7}')
do
for dthour in $(hdfs dfs -ls /user/cloudera/twitter/2015/05/$dt|awk -F "/" '{print $8}')
do
echo "LOAD DATA INPATH '/user/cloudera/twitter/2015/05/$dt/$dthour/' OVERWRITE INTO TABLE 
tweets_partioned PARTITION (year=2015, month=05, dt=$dt, dthour=$dthour);" >> /home/cloudera/load.hive
done
done[/php]

Ensuite, nous avons obtenu le fichier load.hive avec le contenu des commandes à charger, exemple:

Les lignes suivantes ont été tronquées. Voir tous les résultats sur le fichier
Ensuite, nous avons exécuté la commande ci-dessous pour charger des données sur la table ruche tweets_partenced:

[php]hive -i load.hive[/php]

Nombre de lignes sur la table: 116785

8.2 Utiliser Hive pour trouver des utilisateurs influents:

La requête ci-dessous trouvera les noms d’utilisateur et le nombre de retweets qu’ils ont générés sur tous les tweets pour lesquels nous disposons de données:

[php]select t.retweeted_screen_name, sum(retweets) as total_retweets,
count(*) as tweet_count
from
(
select retweeted_status.user.screen_name as retweeted_screen_name, 
retweeted_status.text, 
max(retweeted_status.retweet_count) as retweets
from tweets_partioned
group by retweeted_status.user.screen_name,
retweeted_status.text) t
group by t.retweeted_screen_name
order by total_retweets DESC, tweet_count ASC
limit 15;[/php]

Résulte en:

Pour les quelques jours de données, j’ai constaté qu’il s’agissait des utilisateurs les plus retweetés du secteur:

[php]retweeted_screen_name total_retweets tweet_count
SoftLayer                  8448        8
tableau                    2905       31
DEVOPS_BORAT               2858        2
KirkDBorne                 2737      170
keen_io                    1925        8
hortonworks                1360       25
googleanalytics            1242       19
mhoye                      1225        1
garybernhardt              1083        3
analyticbridge             1045      132
charlesmilander             890        3
BetaList                    784        1
BigDataBlogs                662      159
sadserver                   643        1
VadymMelnyk                 642        2
[/php]

Ci-dessous la capture d’écran: Nous pouvons voir à partir de ces résultats quels tweets sont entendus par le plus large public possible, et également savoir si ces personnes communiquent régulièrement ou non. Ces informations peuvent être utilisées pour cibler plus précisément nos messages afin de les amener à parler de ces produits, ce qui, à son tour, fera parler d’autres personnes.
8.3 Répartition géographique des utilisateurs:
Quels sont les fuseaux horaires les plus actifs par jour? :

[php]SELECT user.time_zone, SUBSTR (created_at, 0, 3), COUNT (*) AS total_count
FROM tweets_partioned
WHERE user.time_zone IS NOT NULL
GROUP BY user.time_zone,
SUBSTR (created_at, 0, 3)
ORDER BY total_count DESC
LIMIT 15;[/php]

Résulte en:

[php]user.time_zone created_at total_count
Eastern Time (US and Canada) Mon 2856
Eastern Time (US and Canada) Sun 2170
Eastern Time (US and Canada) Wed 2157
Pacific Time (US and Canada) Mon 1894
Eastern Time (US and)        Sat 1728
Pacific Time (US and Canada) Wed 1576
Central Time (US and Canada) Mon 1498
London                       Mon 1463
London                       Sun 1395
Eastern Time (US and Canada) Tue 1330
Pacific Time (US and Canada) Sun 1265
Pacific Time (US and Canada) Sat 1174
Amsterdam                    Mon 1087
London                       Sat 1069
Amsterdam                    Sun 1028[/php]

Ci-dessous la capture d’écran:

Fait intéressant, de plus en plus d’utilisateurs tweetent sur les produits sélectionnés sur la côte est, puis sur la côte ouest ou dans le Pacifique. L’Europe semble aussi assez intéressée par les infrastructures de données volumineuses

8.4 “Quels étaient les hashtags les plus courants? “:

Des questions plus complexes à poser, telles que «Quels étaient les hashtags les plus courants? “:

[php]SELECT
LOWER(hashtags.text),COUNT(*) AS total_count
FROM tweets_partioned 
LATERAL VIEW EXPLODE(entities.hashtags) t1 AS hashtags
GROUP BY LOWER(hashtags.text)
ORDER BY total_count DESC
LIMIT 15;[/php]

Résulte en:

[php]hashtags.text      total_count
bigdata                 42019
analytics               12344
iot                     11455
healthcare               5692
wearables                5430
nanotechnology           5243
datascience              4353
job                      3162
jobs                     2931
cloud                    2871
Hadoop                   2753
data                     2740
cloudcomputing           2330
tech                     2102
machinelearning          2053[/php]

Voir ci-dessous la capture d’écran:

Le premier terme qui apparaît est le big data, ce qui signifie que plusieurs personnes recherchent cet élément, suivi de iot, puis d’analyse et ainsi de suite.

Conclusion:
Dans ce rapport, nous avons vu comment nous pouvons utiliser certaines des composantes de Cloudera CDH et les combiner pour créer une infrastructure de données offrant aux entreprises ou aux organisations un accès facile au grand public pour lui permettre d’exprimer leurs opinions sur leurs produits. Cette même infrastructure pourrait être utilisée pour diverses applications conçues pour consulter les données Twitter, telles que l’identification de comptes de spam ou l’identification de groupes de mots-clés.
Toutefois, les entreprises ou les organisations peuvent utiliser ces informations comme mécanisme de retour d’information pour leurs produits. Ils peuvent étendre ce produit à l’avenir en tant que tâche d’analyse des sentiments pour connaître en temps réel le retour d’information de leurs produits. L’analyse automatique des sentiments réduit l’intervention humaine et, par conséquent, la complexité et le coût de l’ensemble du processus.

Laisser un commentaire

Fermer le menu
×
×

Panier