Pages

Hive + MongoDB

In this article I'll show you how to connect mongoDB and hive using MongoStorageHandler.

Suppose you want to load mongoDB data into hive. So that you can run any hive query (HQL) using hadoop map reduce.

First you have to setup hadoop , hive and mongoDB.
Here is another article how you can setup hadoop - https://www.guru99.com/how-to-install-hadoop.html

Then download the mongo-hadoop release based on your hadoop version.

extract it and copy all 3 jar files to hadoop/lib and hive/lib folders.

First we create a sample records in mongoDB.


 use hive-test  
 db.books.insert({ "_id": 1, "name": "Java 7", "author": "author1" });  
 db.books.insert({ "_id": 2, "name": "Hadoop", "author": "author2" });  
 db.books.insert({ "_id": 3, "name": "Hive", "author": "author3" });  

Then start hive console and run following commands.


 create schema books;  
 use books;  
 CREATE TABLE book (id int, name string, author string)  
 STORED BY "com.mongodb.hadoop.hive.MongoStorageHandler"  
 WITH SERDEPROPERTIES('mongo.columns.mapping'='{"id":"_id","name":"name","author":"author"}')  
 TBLPROPERTIES ( "mongo.uri" = "mongodb://localhost:27017/hive-test.books");  

Make sure data loaded into hive using

 select * from book;   

Troubleshoot

 Failed with exception org.apache.hadoop.hive.ql.metadata.HiveException: Error in loading storage handler.com.mongodb.hadoop.hive.MongoStorageHandler  
 FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask  

Make sure you added above 3 jars into hadoop/lib and hive/lib

180 comments:

  1. This is very informative post. I really enjoy it and this is a great artical.I hope I will use this for our next business website.

    This is great job!

    Thanks for sharing this post.
    web development company uae

    ReplyDelete
  2. I get a lot of great information from this blog. Thank you for your sharing this informative blog. Just now I have completed hadoop certification course at a leading academy. If you are interested to learn Hadoop Training Chennai visit FITA IT training and placement academy.

    ReplyDelete
  3. You have certainly explained that Big data analytics is the process of examining big data to uncover hidden patterns, unknown correlations and other useful information that can be used to make better decisions..The big data analytics is the major part to be understood regarding Hadoop Training in Chennai program. Via your quality content i get to know about that in deep.Thanks for sharing this here.

    ReplyDelete
  4. This is the exact piece of information that I was searching for a long time(Hadoop Training in Chennai). Processing data is the biggest issue that every cloud based companies are facing worldwide(Big Data Hadoop Training in Chennai). Handling this problem made easy with the introduction of big data. Thank you so much for your worth able content here. Keep Posting article like this(Best Hadoop Training in Chennai).

    ReplyDelete
  5. Thanks for sharing informative post. Big data is a term that portrays the substantial volume of information; both organized and unstructured that immerses a business on an everyday premise. To know more details please visit Big Data Training in Chennai | Primavera Training in Chennai

    ReplyDelete
  6. Nice sharing. MongoDB is a widely used open source database system. Scop for mongodb is increasing day by day. Learn MongoDB Training from expert reach gangboard. Selenium Training

    ReplyDelete
  7. Hi, I am really happy to found such a helpful and fascinating post that is written in well manner. Thanks for sharing such an informative post.R Programming Online Training | Hadoop Online Training

    ReplyDelete
  8. Nice article updates. We've to post this blog informative it amazing. I like this our content update details. I read that our all post it's useful.
    Selenium Training in Chennai

    ReplyDelete
  9. Hey, I am truly upbeat to establish such an accommodating and intriguing post that is composed in well way. A debt of gratitude is in order for sharing such an instructive post...
    Selenium Training in Chennai
    Dot Net Training in Chennai
    Android Training in Chennai

    ReplyDelete
  10. This blog is having the general information. Got a creative work and this is very different one.We have to develop our creativity mind.This blog helps for this. Hadoop Online Training | Learn Hadoop Online Training | Hadoop Online Training in India



    ReplyDelete
  11. The scope of MongoDB and the Hive is increased day by day...
    Your blog is really much more informative and helpful to all people...
    Keep on blogging... Java Training in Chennai | Dot Net Training in Chennai

    ReplyDelete
  12. Hats off to your presence of mind..I really enjoyed reading your blog. I really appreciate your information which you shared with us.
    Data Science Online Training
    Hadoop Online Training

    ReplyDelete
  13. If anyone want to become an python certified professional reach besant Academy, which offers best python Training in bangalore with years of experienced professionals. For more details about courses…
    Selenium Training in Bangalore |
    Python Training in Bangalore |

    ReplyDelete
  14. It is really a great work and the way in which you are sharing the knowledge is excellent.Thanks for your informative article

    Hadoop Training in Marathahalli|
    Hadoop Training in Bangalore|
    Data science training in Marathahalli|
    Data science training in Bangalore|

    ReplyDelete
  15. This comment has been removed by the author.

    ReplyDelete
  16. Great and really helpful article! Adding to the conversation, you have provide more information, or express a new point of view.Nice information and updates. Really i like it and everyday am visiting your site... keep blogging.DevOps Training in Bangalore | DevOps Training in Bangalore

    ReplyDelete
  17. Needed to compose you a very little word to thank you yet again regarding the nice suggestions you’ve contributed here.

    Data Science Training in Bangalore

    Datascience Training in Chennai

    ReplyDelete
  18. Informative post about hadoop, i am looking forward for realtime hadoop online training institute.

    ReplyDelete
  19. It has been simply incredibly generous with you to provide openly what exactly many individuals would’ve marketed for an eBook to end up making some cash for their end, primarily given that you could have tried it in the event you wanted.

    Data Science Training in Bangalore


    DataScience Training in Chennai


    ReplyDelete
  20. I feel really happy to have seen your webpage and look forward to so many more entertaining times reading here. Thanks once more for all the details.
    hadoop-training-institute-in-chennai

    ReplyDelete
  21. I feel really happy to have seen your webpage and look forward to so many more entertaining times reading here. Thanks once more for all the details.
    hadoop-training-institute-in-chennai

    ReplyDelete
  22. Your good knowledge and kindness in playing with all the pieces were very useful. I don’t know what I would have done if I had not encountered such a step like this.

    big data training in chennai


    ReplyDelete
  23. I really enjoy simply reading all of your weblogs. Simply wanted to inform you that you have people like me who appreciate your work. Definitely a great post. Hats off to you! The information that you have provided is very helpful. calendar

    ReplyDelete


  24. I believe there are many more pleasurable opportunities ahead for individuals that looked at your site.

    Selenium Training in chennai

    ReplyDelete

  25. Needed to compose you a very little word to thank you yet again regarding the nice suggestions you’ve contributed here.
    RPA Training in Bangalore



    ReplyDelete
  26. I would recommend my profile is important to me, I invite you to discuss this topic... clipping path service company

    ReplyDelete
  27. I'm happy to see the considerable subtle element here!. National Anisette Day

    ReplyDelete
  28. Two full thumbs up for this magneficent article of yours. I've really enjoyed reading this article today and I think this might be one of the best article that I've read yet. Please, keep this work going on in the same quality. Web Solutions company

    ReplyDelete
  29. I believe there are many more pleasurable opportunities ahead for individuals that looked at your site.

    Data Science Training in Bangalore

    ReplyDelete
  30. Keeping the quality of a job expands its efficacy and helps to boost it. I’m pleased to get the info about the importance of ‘Blog commenting’ and some precious clues to improve it. Thanks for the article. Best AWS Training in Bangalore

    ReplyDelete
  31. I'm happy to see the considerable subtle element here!. private label manufacturers

    ReplyDelete
  32. This is also a very good post which I really enjoyed reading. It is not every day that I have the possibility to see something like this.. PhenQ

    ReplyDelete
  33. Thanks a lot very much for the high quality and results-oriented help. I won’t think twice to endorse your blog post to anybody who wants and needs support about this area.

    Data Science Training in Bangalore
    RPA Training in Bangalore
    Automation Anywhere Training in Bangalore

    ReplyDelete
  34. informative blog thanks for providing such a great information.
    Data Science Training in Hyderabad

    ReplyDelete
  35. I am always searching online for articles that can help me. There is obviously a lot to know about this. I think you made some good points in Features also. Keep working, great job autopilot automated autoblogging

    ReplyDelete
  36. A good blog always comes-up with new and exciting information and while reading I have feel that this blog is really have all those quality that qualify a blog to be a one. Key Feature Of Roblox Game

    ReplyDelete
  37. I recently came across your article and have been reading along. I want to express my admiration of your writing skill and ability to make readers read from the beginning to the end. I would like to read newer posts and to share my thoughts with you. www.weightwatcherspointscalculator.com

    ReplyDelete
  38. This post is very simple to read and appreciate without leaving any details out. Great work! https://fnafworlddownloadfree.com/

    ReplyDelete
  39. A good blog always comes-up with new and exciting information and while reading I have feel that this blog is really have all those quality that qualify a blog to be a one. best soccer prediction site.

    ReplyDelete
  40. Through this post, I know that your good knowledge in playing with all the pieces was very helpful. I notify that this is the first place where I find issues I've been searching for. You have a clever yet attractive way of writing. top soccer prediction sites

    ReplyDelete
  41. I am a new user of this site so here i saw multiple articles and posts posted by this site,I curious more interest in some of them hope you will give more information on this topics in your next articles. full time draw prediction site

    ReplyDelete
  42. You actually make it look so easy with your performance but I find this matter to be actually something which I think I would never comprehend. It seems too complicated and extremely broad for me. I'm looking forward for your next post, I’ll try to get the hang of it! Photo retouching jobs

    ReplyDelete
  43. I recently came across your article and have been reading along. I want to express my admiration of your writing skill and ability to make readers read from the beginning to the end. I would like to read newer posts and to share my thoughts with you. Photo Retouching Services

    ReplyDelete
  44. Through this post, I know that your good knowledge in playing with all the pieces was very helpful. I notify that this is the first place where I find issues I've been searching for. You have a clever yet attractive way of writing. retouch photo online

    ReplyDelete
  45. Cool stuff you have and you keep overhaul every one of us
    National Cousins Day

    ReplyDelete
  46. I would like to thank you for the efforts you have made in writing this article. I am hoping the same best work from you in the future as well. In fact your creative writing abilities has inspired me to start my own Blog Engine blog now. Really the blogging is spreading its wings rapidly. Your write up is a fine example of it. best gaming keyboard budget

    ReplyDelete
  47. The Breach is taking its place in my life, this is still one of the best space-set Ocean of Games around.

    ReplyDelete
  48. Great Article… I love to read your articles because your writing style is too good, its is very very helpful for all of us. Do check Six Sigma Training in Bangalore | Six Sigma Training in Dubai
    & Get trained by an expert who will enrich you with the latest trends.

    ReplyDelete
  49. Great post! This is very useful for me and gain more information, Thanks for sharing with us.

    Article submission sites

    Education

    ReplyDelete
  50. The blog which you are shared is very much helpful for us to knew about the web designing. thanks for your information.
    Web Designing Institute
    Best Web Design Courses
    Web Design Training Courses
    Learn Website Design
    Best Way to Learn Web Design

    ReplyDelete
  51. Awwsome informative blog ,Very good information thanks for sharing such wonderful blog with us ,after long time came across such knowlegeble blog. keep sharing such informative blog with us.
    Airport Ground Staff Training Courses in Chennai | Airport Ground Staff Training in Chennai | Ground Staff Training in Chennai

    ReplyDelete
  52. Appreciate Your Work... Thanks for Sharing Useful Information. I Just want to Share Some information related to RPA Training in Chennai hope it is useful for the Community Here.
    Robotic Process Automation Certification
    RPA Training
    RPA Training Institute in Chennai
    Robotic Process Automation Courses

    ReplyDelete
  53. This is a good post. This post give truly quality information. I’m definitely going to look into it. Really very useful tips are provided here. thank you so much. Keep up the good works.
    German Classes in Chennai
    German language training in chennai
    German Training in Chennai
    German classes chennai
    German teaching institutes in chennai
    German Training Institutes in Chennai

    ReplyDelete
  54. Thanks first of all for the useful info.
    the idea in this article is quite different and innovative please update more.
    Java Training center in Bangalore
    Java Training in Nolambur
    Java Training in Nungambakkam
    Java Training in Navalur

    ReplyDelete
  55. Great Article… I love to read your articles because your writing style is too good, its is very very helpful for all of us. Do check | Get trained by an expert who will enrich you with the latest updates.
    Java Training in Chennai
    PHP Training in Chennai
    Java Classes in Chennai
    Core Java Training in Chennai
    PHP course
    PHP Training

    ReplyDelete
  56. Whatever we gathered information from the blogs, we should implement that in practically then only we can understand that exact thing clearly, but it’s no need to do it, because you have explained the concepts very well. It was crystal clear, keep sharing..
    Selenium Training in Chennai
    Selenium Course in Chennai
    iOS Course in Chennai
    Digital Marketing Training in Chennai
    J2EE Training in Chennai
    Different functions in testing
    Loadrunner course in Chennai
    Best Loadrunner training institute in chennai

    ReplyDelete
  57. This comment has been removed by the author.

    ReplyDelete
  58. A good blog always comes-up with new and exciting information and while reading I have felt that this blog really has all those quality that qualify a blog to be a one.
    Professional cleaning services
    Outsourcing manpower services
    Cleaning services
    Pest control services
    Shifting and Setup services
    Electrician and electrical works
    Sanitary and plumbing works
    Staffs trainer provider

    ReplyDelete
  59. Thanks for sharing this information!
    I totally agree with you. Your information is very interesting and important. I really like this information.
    Our easy web plans company is famous in Advanced AWS Training in Hyderabad
    If you want to see our training venue then click on links:
    http://iappsofttraining.com/aws-course-training/
    Call Now: 9030486677
    Drop Mail: training@iappsoftsolutions.com

    ReplyDelete

  60. Thanks for sharing this information!
    I totally agree with you. Your information is very interesting and important. I really like this information.
    Our easy web plans company is famous in Advanced Devops Online Training in Hyderabad.
    If you want to see our training venue then click on links:
    https://www.futureqtech.com/devops-online-training.php
    Call Now: 9581111796
    Drop Mail: online@futureqtech.com

    ReplyDelete
  61. Ausek OEM action camera is trendy products for different kinds of sports such as cycling, climbing, hiking, swimming, skiing. They are good helpers for most kinds of outdoor sports and water sports due to their light weight and good capability and easy to use. Meanwhile, they have superior features that normal cameras do not have like waterproof and dustproof.
    Ausek official
    tws earbuds
    sport camera
    car camera

    ReplyDelete
  62. Pretty good post. I just stumbled upon your blog and wanted to say that I have really enjoyed reading your blog posts. Anyway, I'll be subscribing to your feed and I hope you post again soon. Big thanks for the useful info
    Best Single Pin Bow Sight

    ReplyDelete
  63. Thanks for sharing this information!
    I totally agree with you. Your information is very interesting and important. I really like this information.Our easy web plans company is famous in Advanced AWS Online Training in Hyderabad .
    If you want to see our training venue then click on links:http://www.sacrostectservices.com/aws-online-training/
    Call Now: +91-9052483493
    Drop Mail: info@sacrostectservices.com

    ReplyDelete
  64. I just loved your article on the beginners guide to starting a blog.If somebody take this blog article seriously in their life, he/she can earn his living by doing blogging.thank you for thizs article. pega online training

    ReplyDelete

  65. Thanks for sharing the information....keep sharing more articles
    Best Software Training institute in Bangalore

    ReplyDelete

  66. Thanks for sharing the information....keep sharing more articles
    data science courses in bangalore

    ReplyDelete

  67. Thank You so much for sharing this information. I found it very helpful
    Best Azure training in Bangalore

    ReplyDelete

  68. Thank you for the valuable information, its was very helpful
    Best Kubernetes training in Bangalore

    ReplyDelete
  69. I have enjoyed reading your post,it looks very attractive.Thanks for sharing some useful information.Tableau can help anyone see and understand their data.Get Tableau certification from our institute.
    Best tableau training institutes in Bangalore

    ReplyDelete
  70. Thanks for sharing the information...
    Best AWS with Devops Training in Bangalore | AWS with Devops Training Course Content | AWS with Devops Training Institutes | AWS with Devops Online Training - Elegant IT Services
    - Elegant IT Services provides Best AWS with Devops Training in Bangalore with expert real-time trainers who are working Professionals with min 8 + years of experience in AWS with Devops Training Industry, we also provide 100% Placement Assistance with Live Projects on AWS with Devops Training.

    ReplyDelete
  71. Nice blog,I understood the topic very clearly,And want to study more like this.
    Data Scientist Course

    ReplyDelete
  72. This is a wonderful article, Given so much info in it, These type of articles keeps the users interest in the website, and keep on sharing more ... good luck.

    Digital marketing course

    ReplyDelete
  73. Nice article. I liked very much. All the informations given by you are really helpful for my research. keep on posting your views.
    ccna course in Chennai
    ccna Training in Chennai
    ccna Training institute in Chennai
    ccna institute in Chennai
    Best CCNA Training Institute in Chennai

    ReplyDelete
  74. if you want to learn digital marketing in mumbai. excelr solutions providing best AI course in mumbai.for more details click here

    digital marketing course

    ReplyDelete
  75. Attend The Course in Data Analytics From ExcelR. Practical Course in Data Analytics Sessions With Assured Placement Support From Experienced Faculty. ExcelR Offers The Course in Data Analytics.
    Course in Data Analytics
    Data Science Interview Questions

    ReplyDelete
  76. Attend The Machine Learning course Bangalore From ExcelR. Practical Machine Learning course Bangalore Sessions With Assured Placement Support From Experienced Faculty. ExcelR Offers The Machine Learning course Bangalore.
    Machine Learning course Bangalore

    ReplyDelete
  77. This is a wonderful article, Given so much info in it, These type of articles keeps the users interest in the website, and keep on sharing more ... good luck.
    data analytics courses

    ReplyDelete
  78. wonderful article. Very interesting to read this article.I would like to thank you for the efforts you had made for writing this awesome article. This article resolved my all queries.
    Data Science Course

    ReplyDelete
  79. I am impressed by the information that you have on this blog. It shows how well you understand this subject.

    data science course

    ReplyDelete
  80. Cool stuff you have and you keep overhaul every one of us

    Correlation vs Covariance

    ReplyDelete
  81. Very interesting to read this article.I would like to thank you for the efforts you had made for writing this awesome article. This article inspired me to read more. keep it up.
    Correlation vs Covariance
    Simple linear regression

    ReplyDelete
  82. Attend The Artificial Intelligence course From ExcelR. Practical Artificial Intelligence course Sessions With Assured Placement Support From Experienced Faculty. ExcelR Offers The Artificial Intelligence course.
    Artificial Intelligence Course

    ReplyDelete
  83. Very interesting blog. Many blogs I see these days do not really provide anything that attracts others, but believe me the way you interact is literally awesome.You can also check my articles as well.

    Data Science In Banglore With Placements
    Data Science Course In Bangalore
    Data Science Training In Bangalore
    Best Data Science Courses In Bangalore
    Data Science Institute In Bangalore

    Thank you..

    ReplyDelete
  84. Great Article
    Cloud Computing Projects


    Networking Projects

    Final Year Projects for CSE


    JavaScript Training in Chennai

    JavaScript Training in Chennai

    The Angular Training covers a wide range of topics including Components, Angular Directives, Angular Services, Pipes, security fundamentals, Routing, and Angular programmability. The new Angular TRaining will lay the foundation you need to specialise in Single Page Application developer. Angular Training

    ReplyDelete

  85. This post is great. I reallly admire your post. Your post was awesome.
    data science course in Hyderabad

    ReplyDelete
  86. Very useful post and I think it is rather easy to see from the other comments as well that this post is well written and useful.Keep up the good work
    I am happy for sharing on this blog its awesome blog I really impressed. thanks for sharing. Great efforts.
    Java training in Chennai

    Java Online training in Chennai

    Java Course in Chennai

    Best JAVA Training Institutes in Chennai

    Java training in Bangalore

    Java training in Hyderabad

    Java Training in Coimbatore

    Java Training

    Java Online Training

    ReplyDelete
  87. Awesome blog. I enjoyed reading your articles. This is truly a great read for me. I have bookmarked it and I am looking forward to reading new articles. Keep up the good work!

    Simple Linear Regression

    Correlation vs Covariance

    ReplyDelete
  88. Very interesting to read this article.I would like to thank you for the efforts you had made for writing this awesome article. This article inspired me to read more. keep it up.
    Correlation vs Covariance
    Simple linear regression
    data science interview questions

    ReplyDelete
  89. I recently came across your article and have been reading along. I want to express my admiration of your writing skill and ability to make readers read from the beginning to the end. I would like to read newer posts and to share my thoughts with you.Your post is just outstanding! thanks for such a post,its really going great and great work.You have provided great knowledge


    Azure Training in Chennai

    Azure Training in Bangalore

    Azure Training in Hyderabad

    Azure Training in Pune

    Azure Training | microsoft azure certification | Azure Online Training Course

    Azure Online Training

    ReplyDelete
  90. Thanks for taking the time to discuss this, I feel strongly about it for connect mongoDB and hive using MongoStorageHandler and love learning more on this topic. If possible, as you gain expertise, would you mind updating your blog with extra information. It is extremely helpful for me.

    DevOps Training in Chennai

    DevOps Online Training in Chennai

    DevOps Training in Bangalore

    DevOps Training in Hyderabad

    DevOps Training in Coimbatore

    DevOps Training

    DevOps Online Training

    ReplyDelete
  91. I read this post two times, I like it so much, please try to keep posting & Let me introduce other material that may be good for our community.

    ReplyDelete
  92. Excellent Blog! I would Thanks for sharing this wonderful content.its very useful to us.This is incredible,I feel really happy to have seen your webpage.I gained many unknown information, the way you have clearly explained is really fantastic.keep posting such useful information.
    Full Stack Training in Chennai | Certification | Online Training Course
    Full Stack Training in Bangalore | Certification | Online Training Course

    Full Stack Training in Hyderabad | Certification | Online Training Course
    Full Stack Developer Training in Chennai | Mean Stack Developer Training in Chennai
    Full Stack Training

    Full Stack Online Training

    ReplyDelete
  93. Nice article i was really impressed by seeing this article, it was very interesting and it is very useful for me.This is incredible,I feel really happy to have seen your webpage.I gained many unknown information, the way you have clearly explained is really fantastic.keep posting such useful information.
    Data Science Training In Chennai

    Data Science Online Training In Chennai

    Data Science Training In Bangalore

    Data Science Training In Hyderabad

    Data Science Training In Coimbatore

    Data Science Training

    Data Science Online Training

    ReplyDelete
  94. I feel really happy to have seen your webpage.I am feeling grateful to read this.you gave a nice information for us.please updating more stuff content...keep up!!

    Android Training in Chennai

    Android Online Training in Chennai

    Android Training in Bangalore

    Android Training in Hyderabad

    Android Training in Coimbatore

    Android Training

    Android Online Training

    ReplyDelete
  95. I am looking for and I love to post a comment that "The content of your post is awesome" Great work!

    data science interview questions

    ReplyDelete
  96. Really nice and interesting post. I was looking for this kind of information and enjoyed reading this one. Keep posting. Thanks for sharing.

    Simple Linear Regression

    Correlation vs covariance

    KNN Algorithm

    Logistic Regression explained

    ReplyDelete
  97. This Was An Amazing ! I Haven't Seen This Type of Blog Ever ! Thankyou For Sharing, data science course

    ReplyDelete
  98. Amazing Article ! I would like to thank you for the efforts you had made for writing this awesome article. This article inspired me to read more. keep it up.
    Correlation vs Covariance
    Simple Linear Regression
    data science interview questions
    KNN Algorithm
    Logistic Regression explained

    ReplyDelete
  99. Very interesting to read this article.I would like to thank you for the efforts you had made for writing this awesome article. This article inspired me to read more. keep it up.data science courses

    ReplyDelete
  100. I am looking for and I love to post a comment that "The content of your post is awesome" Great work!

    Simple Linear Regression

    Correlation vs Covariance

    ReplyDelete
  101. Very nice blogs!!! i have to learning for lot of information for this sites…Sharing for wonderful information.Thanks for sharing this valuable information to our vision. You have posted a trust worthy blog keep sharing, data sciecne course in hyderabad

    ReplyDelete
  102. Attend The Machine Learning Course Bangalore From ExcelR. Practical Machine Learning course Bangalore Sessions With Assured Placement Support From Experienced Faculty. ExcelR Offers The Machine Learning course Bangalore.
    Machine Learning Course Bangalore

    ReplyDelete
  103. Attend The Data Analyst Course From ExcelR. Practical Data Analyst Course Sessions With Assured Placement Support From Experienced Faculty. ExcelR Offers The Data Analyst Course.
    Data Analyst Course

    ReplyDelete