Pourquoi la Ruche n'est pas en faveur de la Procédure Stockée?
Pourquoi la ruche n'est pas en faveur de la procédure Stockée?
Si sa ne supportant pas alors comment nous allons gérer la Sp dans la Ruche? toute autre solution?
(Car nous avons déjà une base de données est-il en mssql)
Qu'en est HBASE? Est-il le soutien de SP?
Tout d'abord, Hadoop ou la Ruche est NOT une alternative à votre SQL DB. Vous ne devez jamais penser de ces 2 pour être utilisé comme un remplacement de votre SGBDR.
Ruche a été développé pour fournir des capacités de stockage sur le dessus d'un cluster Hadoop en gardant à l'esprit la grande base d'utilisateurs de SQL, à la fois expert en base de données les concepteurs et les administrateurs, ainsi que les utilisateurs occasionnels qui utilisent SQL pour extraire des informations à partir de leurs entrepôts de données. Bien qu'il vous donne un SQL comme l'interface, il n'est pas un SQL DB. La ruche est plus adapté pour les applications d'entrepôt de données, où les données relativement statiques est analysé, les temps de réponse rapides ne sont pas requis, et lorsque les données n'est pas en train de changer rapidement. Mettez simplement pour offline batch processing genre de choses.
Il n'y a rien comme les procédures stockées dans HBase. Mais ils ont quelque chose appelé comme Coprocessor qui ressemble à des procédures stockées dans le SGBD. Pour en savoir plus sur le Coprocesseur vous pouvez aller ici.
Et comme @zsxwing a dit Sqoop est juste un outil de transfert de données, rien de plus. Une fois que vous basculez vers le monde NoSQL vous devez être flexible et vous devez respecter le NoSQL règles.
Si vous pourriez préciser votre cas d'utilisation, un peu, peut-être nous pouvons vous aider à mieux.
En réponse à votre commentaire :
Oui Facebook utilise Hadoop et de la Ruche et d'autres outil de profondeur. Enfait la Ruche a été développé à Facebook. Mais ce ne sont pas les seules choses. Partout où ils ont OLTP et transactionnel complet besoin, ils dépendent encore des SGBDR. Un exemple est leur Timeline fonctionnalité, qui utilise MySQL. Ils ont un gigantesque(et génial) pipeline, qui se compose de beaucoup de choses et pas seulement Hadoop et de la Ruche. Voir l'image ci-dessous.
Merci, j'ai entendu Facebook est l'utilisation d'Hadoop-Ruche puis comment ils vont gérer les transactions et tous, et sp (Car u dit à ses principalement pour le stockage) L'édition de ma réponse, car il n'est pas possible de répondre à cette question ici.
De la ruche et Hbase sont pas en charge de la procédure stockée. Cependant, la Ruche des plans à l'appui de Sp (La RUCHE-3087) dans l'avenir. HBase n'a pas de plan de soutien à la Sp, car il ne met l'accent sur un espace de Stockage et plus comme NoSQL.
La ruche UDF pourrait mettre en œuvre une fonction de la procédure stockée, si ce n'est pas assez.
Alors comment je vais gérer mon SQL DB.(Parce que je veux utiliser son suppléant pour sql dans mon projet en cours) Le dialecte SQL dans la Ruche est appelé HQL. Il a une certaine différence de MySQL SQL. Je crains que vous avez besoin de réécrire certains codes (même certains UDF des codes Java) pour passer de MySQL à la Ruche si votre SQL est très compliqué. Si vous décidez d'utiliser la Ruche, je vous conseille de lire la Programmation de la Ruche Désolé suis à l'aide de MS SQL avec ASP.Net . J'ai entendu dire, par le biais de Sqoop nous pouvons migrer les données!!. Ainsi est-il possible dans le cas de la SP? Sqoop est un outil qui vous aider à importer les données à partir de bases de données HDFS ou HBase, ou d'importer les données à partir de HDFS ou HBase pour les bases de données. Donc, Sqoop vous aider à rien.
De la ruche, en effet, ne dispose pas de toutes les procédures stockées, comme expliqué dans les réponses existantes. Cependant, ici, sont 2 facteurs atténuants:
Ruche a vues
Bien sûr, il n'est pas un bon substitut pour les procédures stockées, mais avec l'utilisation intelligente de vues que vous pouvez peut-être supprimer la nécessité pour certains de vos procédures.
Vous pouvez appeler la ruche à partir d'un autre programme
La dernière fois que j'ai couru dans le problème de la ruche n'a pas de procédures stockées, j'ai réalisé que la chose que je voulais faire (en boucle sur toutes les colonnes) était quelque chose que je pouvais aussi le faire dans un autre programme. En tant que tel, j'ai suivi la procédure suivante:
Exécuter une requête pour obtenir les (méta) données: Python appels de la ruche pour obtenir les noms des colonnes
Utiliser ces informations pour construire la requête: Python prend dans tous les noms de colonne et construit le correspondng instructions select
Exécuter la requête: Python fait un appel système avec hive -e
Éventuellement, aller à 2 si nécessaire
Avec des points de vue et les appels externes, j'ai jusqu'à présent été en mesure de contourner l'absence de procédures stockées.
Veuillez vous référer à HPL/SQL, je suis à la recherche pour la même solution, mais ne pas essayer encore.
Je crois que l'entrepôt de données d'application de la procédure stockée de soutien, mais que vous préférez à base de jeu à base de ligne de la procédure.
Dans mon expérience personnelle, de la procédure de soutien est nécessaire lorsque l'endettement programme côté serveur de modèle dans les entrepôts de données de l'application. Il fait de l'entrepôt de données de l'application plus facile de portage entre SQL/NoSQL, comme Netezza, MSSQL, Oracle, DB2, et BigInsight.
Ont un coup d'oeil au projet open-source PL/HQL à http://www.plhql.org. Il vous permet d'exécuter existante de SQL Server, Oracle, Teradata, MySQL etc. des procédures stockées dans la Ruche.
Tout d'abord, Hadoop ou la Ruche est
NOT
une alternative à votre SQL DB. Vous ne devez jamais penser de ces 2 pour être utilisé comme un remplacement de votre SGBDR.Ruche a été développé pour fournir des capacités de stockage sur le dessus d'un cluster Hadoop en gardant à l'esprit la grande base d'utilisateurs de SQL, à la fois expert en base de données les concepteurs et les administrateurs, ainsi que les utilisateurs occasionnels qui utilisent SQL pour extraire des informations à partir de leurs entrepôts de données. Bien qu'il vous donne un SQL comme l'interface, il n'est pas un SQL DB. La ruche est plus adapté pour les applications d'entrepôt de données, où les données relativement statiques est analysé, les temps de réponse rapides ne sont pas requis, et lorsque les données n'est pas en train de changer rapidement. Mettez simplement pour
offline batch processing
genre de choses.Il n'y a rien comme les procédures stockées dans HBase. Mais ils ont quelque chose appelé comme
Coprocessor
qui ressemble à des procédures stockées dans le SGBD. Pour en savoir plus sur le Coprocesseur vous pouvez aller ici.Et comme @zsxwing a dit Sqoop est juste un outil de transfert de données, rien de plus. Une fois que vous basculez vers le monde NoSQL vous devez être flexible et vous devez respecter le NoSQL règles.
Si vous pourriez préciser votre cas d'utilisation, un peu, peut-être nous pouvons vous aider à mieux.
En réponse à votre commentaire :
Oui Facebook utilise Hadoop et de la Ruche et d'autres outil de profondeur. Enfait la Ruche a été développé à Facebook. Mais ce ne sont pas les seules choses. Partout où ils ont OLTP et transactionnel complet besoin, ils dépendent encore des SGBDR. Un exemple est leur
Timeline
fonctionnalité, qui utilise MySQL. Ils ont un gigantesque(et génial) pipeline, qui se compose de beaucoup de choses et pas seulement Hadoop et de la Ruche. Voir l'image ci-dessous.L'édition de ma réponse, car il n'est pas possible de répondre à cette question ici.
OriginalL'auteur Tariq
De la ruche et Hbase sont pas en charge de la procédure stockée. Cependant, la Ruche des plans à l'appui de Sp (La RUCHE-3087) dans l'avenir. HBase n'a pas de plan de soutien à la Sp, car il ne met l'accent sur un espace de Stockage et plus comme NoSQL.
La ruche UDF pourrait mettre en œuvre une fonction de la procédure stockée, si ce n'est pas assez.
Le dialecte SQL dans la Ruche est appelé HQL. Il a une certaine différence de MySQL SQL. Je crains que vous avez besoin de réécrire certains codes (même certains UDF des codes Java) pour passer de MySQL à la Ruche si votre SQL est très compliqué.
Si vous décidez d'utiliser la Ruche, je vous conseille de lire la Programmation de la Ruche
Désolé suis à l'aide de MS SQL avec ASP.Net . J'ai entendu dire, par le biais de Sqoop nous pouvons migrer les données!!. Ainsi est-il possible dans le cas de la SP?
Sqoop est un outil qui vous aider à importer les données à partir de bases de données HDFS ou HBase, ou d'importer les données à partir de HDFS ou HBase pour les bases de données. Donc, Sqoop vous aider à rien.
OriginalL'auteur zsxwing
De la ruche n'a pas de procédures stockées
De la ruche, en effet, ne dispose pas de toutes les procédures stockées, comme expliqué dans les réponses existantes. Cependant, ici, sont 2 facteurs atténuants:
Ruche a vues
Bien sûr, il n'est pas un bon substitut pour les procédures stockées, mais avec l'utilisation intelligente de vues que vous pouvez peut-être supprimer la nécessité pour certains de vos procédures.
Vous pouvez appeler la ruche à partir d'un autre programme
La dernière fois que j'ai couru dans le problème de la ruche n'a pas de procédures stockées, j'ai réalisé que la chose que je voulais faire (en boucle sur toutes les colonnes) était quelque chose que je pouvais aussi le faire dans un autre programme. En tant que tel, j'ai suivi la procédure suivante:
hive -e
Avec des points de vue et les appels externes, j'ai jusqu'à présent été en mesure de contourner l'absence de procédures stockées.
OriginalL'auteur Dennis Jaheruddin
Veuillez vous référer à HPL/SQL, je suis à la recherche pour la même solution, mais ne pas essayer encore.
Je crois que l'entrepôt de données d'application de la procédure stockée de soutien, mais que vous préférez à base de jeu à base de ligne de la procédure.
Dans mon expérience personnelle, de la procédure de soutien est nécessaire lorsque l'endettement programme côté serveur de modèle dans les entrepôts de données de l'application. Il fait de l'entrepôt de données de l'application plus facile de portage entre SQL/NoSQL, comme Netezza, MSSQL, Oracle, DB2, et BigInsight.
OriginalL'auteur Jesse
Ont un coup d'oeil au projet open-source PL/HQL à http://www.plhql.org. Il vous permet d'exécuter existante de SQL Server, Oracle, Teradata, MySQL etc. des procédures stockées dans la Ruche.
OriginalL'auteur dmtolpeko