Enregistrer la structure de données Spark en tant que table partitionnée dynamique dans Hive
J'ai un exemple d'application de travail à lire à partir de fichiers csv dans un dataframe. Le dataframe peuvent être stockées dans une table de la Ruche en parquet format à l'aide de la méthode
df.saveAsTable(tablename,mode)
.
Le code ci-dessus fonctionne très bien, mais j'ai tellement de données pour chaque jour que je veux partition dynamique de la ruche table basée sur la creationdate(colonne de la table).
est-il de toute façon à la dynamique de la partition de la dataframe et de les stocker dans la ruche de l'entrepôt. Vouloir s'abstenir de coder en Dur l'instruction insert à l'aide de hivesqlcontext.sql(insert into table partittioin by(date)....)
.
Question peuvent être considérées comme une extension de :Comment enregistrer DataFrame directement à la Ruche?
toute aide est très appréciée.
source d'informationauteur Chetandalal
Vous devez vous connecter pour publier un commentaire.
Je crois qu'il fonctionne quelque chose comme ceci:
df
est un dataframe avec l'année, le mois et les autres colonnesou
J'ai pu écrire à partitionné tableau de la ruche à l'aide de
df.write().mode(SaveMode.Append).partitionBy("colname").saveAsTable("Table")
J'ai eu pour activer les propriétés suivantes pour le faire fonctionner.
J'ai également été confrontés à la même chose mais en utilisant des tours suivants, je résolus.
Lorsque nous Faisons un tableau comme partitionné ensuite partitionné colonne de devenir sensible à la casse.
Partitionné colonne doit être présent dans le DataFrame avec le même nom (sensible à la casse). Code: