Monday, December 8, 2014

Spark 1.1.1 to read from Cassandra into scala case class - Simple Example

As we continue to advance our use cases for Apache Spark on Cassandra it seems only right that our next case puts data into a case class.

Following previous examples, this will be the most simple use case - more elegant and advanced usages are coming...

Update! (2014-12-10): I have added fetching Cassandra data direct into a case class as intended by the connector.  The source for the example has been updated and pushed to the repository.

Prerequisites:

  • Java 1.7+ (Oracle JDK required)
  • Scala 2.10.4
  • SBT 0.13.x
  • A Spark cluster (how to do it here.)
  • A Cassandra cluster (how to do it here.)
  • git

Overview

For this example we will pull data for various humans out of Cassandra and put the relevant bits into our model.  Then we will see about working with only good persons (as determined by the creators of our data - our algorithm is not that advanced...yet).

Clone the Example

Begin by cloning the example project from github - our project is spark-cassandra-to-scala-case-class, & cd into the project directory.
[bkarels@ahimsa work]$ git clone https://github.com/bradkarels/spark-cassandra-to-scala-case-class.git simple-case
Initialized empty Git repository in /home/bkarels/work/simple-case/.git/
remote: Counting objects: 21, done.
remote: Compressing objects: 100% (15/15), done.
remote: Total 21 (delta 0), reused 17 (delta 0)
Unpacking objects: 100% (21/21), done.
[bkarels@ahimsa work]$ cd simple-case/
[bkarels@ahimsa simple-case]$ l
total 32K
-rw-rw-r--. 1 bkarels bkarels 1.2K Dec  8 12:24 assembly.sbt
-rw-rw-r--. 1 bkarels bkarels  298 Dec  8 12:24 build.sbt
-rw-rw-r--. 1 bkarels bkarels 1.1K Dec  8 12:24 LICENSE
-rw-rw-r--. 1 bkarels bkarels 1.1K Dec  8 12:24 nicecase.cql
-rw-rw-r--. 1 bkarels bkarels 3.2K Dec  8 12:24 populateHumans.cql
drwxrwxr-x. 2 bkarels bkarels 4.0K Dec  8 12:24 project
-rw-rw-r--. 1 bkarels bkarels  228 Dec  8 12:24 README.md
drwxrwxr-x. 3 bkarels bkarels 4.0K Dec  8 12:24 src

Prepare the Data

At the root of the project you will see two CQL files: nicecase.cql & populateHumans.cql.  You will need to execute these two files against your local Cassandra instance from Datastax DevCenter or cqlsh (or some other tool) to set things up.

Begin by executing nicecase.cql to create your keyspace and tables:
CREATE KEYSPACE nicecase WITH replication = {'class': 'SimpleStrategy', 'replication_factor' : 1};

CREATE TABLE nicecase.human (
    id TIMEUUID,
    firstname TEXT,
    lastname TEXT,
    gender TEXT,
    address0 TEXT,
    address1 TEXT,
    city TEXT,
    stateprov TEXT,
    zippostal TEXT,
    country TEXT,
    phone TEXT,
    "isGoodPerson" BOOLEAN, // Case sensitive column name - generally not recommended, but possible.
    PRIMARY KEY(id)
);

CREATE INDEX good_person ON nicecase.human ( "isGoodPerson" ); // We want to be able to find good people quickly

CREATE INDEX person_state ON nicecase.human ( stateprov ); // Maybe we need good people by state?

CREATE INDEX ON nicecase.human ( firstname ); // Let Cassandra use the default name for the index.  Good people tend to be named "Brad" - let's find them fast too!

CREATE TABLE nicecase.goodhuman (
    human_id TIMEUUID,
    PRIMARY KEY(human_id)
);

CREATE TABLE nicecase.badhuman (
    human_id TIMEUUID,
    PRIMARY KEY(human_id)
);

CREATE TABLE nicecase.goodbrad (
    human_id TIMEUUID,
    firstname TEXT,
    PRIMARY KEY(human_id)
);
There are a few extra bits in here that we won't be using in this example (indexes, extra tiny tables), but they won't hurt anything and we will likely use them in our next example or two.

Next, execute populateHumans.cql to load up our human table with some data.
 INSERT INTO nicecase.human (id, firstname, lastname, gender, address0, address1,city, stateprov, zippostal, country, phone, "isGoodPerson")
  VALUES (now(),'Pete', 'Jones', 'm', '555 Astor Lane',null,'Minneapolis','MN','55401','USA','6125551212',True);
INSERT INTO nicecase.human (id, firstname, lastname, gender, address0, address1,city, stateprov, zippostal, country, phone, "isGoodPerson")
  VALUES (now(),'Neil', 'Harris', 'm', '123 Doogie Howser Way',null,'Los Angeles','CA','90211','USA','9045551212',True);
INSERT INTO nicecase.human (id, firstname, lastname, gender, address0, address1,city, stateprov, zippostal, country, phone, "isGoodPerson")
  VALUES (now(),'Hiro', 'Ryoshi', 'f', '42 Cemetary Road','Apt. 23','River Falls','WI','55301','USA','7155551212',True);
INSERT INTO nicecase.human (id, firstname, lastname, gender, address0, address1,city, stateprov, zippostal, country, phone, "isGoodPerson")
  VALUES (now(),'Biel', 'SaBubb', 'm', '666 Hellpass',null,'Demonville','KY','32054','USA','3125551212',False);
INSERT INTO nicecase.human (id, firstname, lastname, gender, address0, address1,city, stateprov, zippostal, country, phone, "isGoodPerson")
  VALUES (now(),'Edward', 'Snowden', 'm', null,null,null,null,null,'RU',null,True);
INSERT INTO nicecase.human (id, firstname, lastname, gender, address0, address1,city, stateprov, zippostal, country, phone, "isGoodPerson")
  VALUES (now(),'Mother', 'Theresa', 'f', null,null,null,null,null,null,null,True);
INSERT INTO nicecase.human (id, firstname, lastname, gender, address0, address1,city, stateprov, zippostal, country, phone, "isGoodPerson")
  VALUES (now(),'Fatima', 'Nagossa', 'f', '689 First Ave.','Apt 1b','Orlando','FL','32822','USA','7895551212',True);
INSERT INTO nicecase.human (id, firstname, lastname, gender, address0, address1,city, stateprov, zippostal, country, phone, "isGoodPerson")
  VALUES (now(),'Casey', 'Steals-a-lot', 'f', '71 Buster Lane',null,'Denver','CO','74811','USA','7895551212',False);
INSERT INTO nicecase.human (id, firstname, lastname, gender, address0, address1,city, stateprov, zippostal, country, phone, "isGoodPerson")
  VALUES (now(),'B', 'Real', 'm', '420 High Way','I forgot','Palo Alto','CA','90255','USA','9995551212',True);
INSERT INTO nicecase.human (id, firstname, lastname, gender, address0, address1,city, stateprov, zippostal, country, phone, "isGoodPerson")
  VALUES (now(),'JJ', 'Jones', 't', '123 Sycamore Way',null,'Las Cruces','CA','91553','USA','9995551212',False);
INSERT INTO nicecase.human (id, firstname, lastname, gender, address0, address1,city, stateprov, zippostal, country, phone, "isGoodPerson")
  VALUES (now(),'Diane', 'Feinstein', '?', 'Do not care',null,'Some City','CA','99999','USA','1235551212',False);
INSERT INTO nicecase.human (id, firstname, lastname, gender, address0, address1,city, stateprov, zippostal, country, phone, "isGoodPerson")
  VALUES (now(),'Brad', 'Karels', 'm', '123 Nice Guy Blvd.',null,'Minneapolis','MN','55402','USA','6125551212',True);
INSERT INTO nicecase.human (id, firstname, lastname, gender, address0, address1,city, stateprov, zippostal, country, phone, "isGoodPerson")
  VALUES (now(),'Alysia', 'Yeoh', 't', '1 Bat Girl Way',null,'Metropolis','YX','55666','USA','3215551212',True);
There is a lot more data here than we will use for this example, but again, the near future is coming...  Most notable here is how we use the CQL function now() to set the value for our primary key of type TIMEUUID.  We are also, quite intentionally, leaving much of the data values null.  Real data has nulls, might as well get the hang of dealing with it in this context as well.

Assuming you did not encounter any errors, your Cassandra instance is now ready for this example.

Prepare the Application

In a terminal, from the project root, fire up SBT and assembly the project to create your application jar file.
[bkarels@ahimsa simple-case]$ sbt
[info] Loading project definition from /home/bkarels/work/simple-case/project
[info] Updating {file:/home/bkarels/work/simple-case/project/}simple-case-build...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...                              
[info] Done updating.                                                            
[info] Set current project to Simple Case (in build file:/home/bkarels/work/simple-case/)
> assembly
[info] Updating {file:/home/bkarels/work/simple-case/}simple-case...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...                
[info] Done updating.                                              
[info] Compiling 1 Scala source to /home/bkarels/work/simple-case/target/scala-2.10/classes...                                                                 
[info] Including: minlog-1.2.jar                                                             
...                                               
[info] Checking every *.class/*.jar file's SHA-1.                                            
...
[info] SHA-1: 5b17b5b5ccb29df92a662ad3f404573e7470d576
[info] Packaging /home/bkarels/work/simple-case/target/scala-2.10/CaseStudy.jar ...
[info] Done packaging.
[success] Total time: 28 s, completed Dec 8, 2014 12:37:30 PM
>
As per normal, take note of where your jar file gets put (highlighted above).  Also, note that we have set the resulting jar file name in assembly.sbt - here we have set it to CaseStudy.jar.

Spark it up!

If your local Spark cluster is not up and running, do that now.  If you need to review how to go about that, you can look here.

Make Sparks fly! (i.e. run it)

OK, time to find out who the good people are...
This very simple example will pull a set of CassandraRows out of our human table in Cassandra, iterate over the rows and create a list of Human case classes.  It will then rip through our list of Humans and nicely tell us who is a good person and who is not so much.

An interesting preview of things to come is commented out at or about line 29 of SimpleApp.scala:
row.columnNames
As Cassandra is NoSQL a different set of columns could exist for each row.  For our software to be reactive, we need mechanisms to detect these differences so that they can be handled.  So play with that - it likely will be part of your future.

With that noted, let's run things.  Using the location of our CaseStudy.jar from above, open a terminal and use spark-submit to submit the application to you Spark cluster:
[bkarels@ahimsa simple-case]$ $SPARK_HOME/bin/spark-submit --class com.bradkarels.simple.CaseStudy --master spark://127.0.0.1:7077 /home/bkarels/work/simple-case/target/scala-2.10/CaseStudy.jar
...
Fatima Nagossa is a good person.
Neil Harris is a good person.
Pete Jones is a good person.
Joe Jones is not a good person.
Edward Snowden is a good person.
Brad Karels is a good person.
Biel SaBubb is not a good person.
Mother Theresa is a good person.
Alysia Yeoh is a good person.
Hiro Ryoshi is a good person.
B Real is a good person.
Casey Steals-a-lot is not a good person.
Diane Feinstein is not a good person.
If all has gone to plan, you should see output like the following above.  You will actually see two sets of the above out put as the example does the same operation two ways - fetch direct to case class and a more verbose row parsing mechanism.

What's next?

Next we hope to look into writing data to Cassandra from scala case classes.  Or some other interesting thing...

FIN

25 comments:

  1. Nice article, I am visiting this site and reading very informative content at this time.
    kajal agarwal hot

    ReplyDelete

  2. تنظيف منازل بالدمام تنظيف منازل بالدمام
    تنظيف منازل بالاحساء تنظيف منازل بالاحساء
    تنظيف منازل بمكة تنظيف منازل بمكة
    تنظيف منازل بجدة تنظيف منازل بجدة
    تنظيف منازل بالمدينة المنورة تنظيف منازل بالمدينة المنورة

    ReplyDelete
  3. Crypto-currency as a modern form of the digital asset has received a worldwide acclaim for easy and faster financial transactions and its awareness among people have allowed them to take more interest in the field thus opening up new and advanced ways of making payments. Crypto.com Referral Code with the growing demand of this global phenomenon more,new traders and business owners are now willing to invest in this currency platform despite its fluctuating prices however it is quite difficult to choose the best one when the market is full. In the list of crypto-currencies bit-coins is one of the oldest and more popular Crypto.com Referral Code for the last few years. It is basically used for trading goods and services and has become the part of the so-called computerized block-chain system allowing anyone to use it thus increasing the craze among the public, Crypto.com Referral Code.

    Common people who are willing to purchase BTC can use an online wallet system for buying them safely in exchange of cash or credit cards and in a comfortable way from the thousands of BTC foundations around the world and keep them as assets for the future. Due to its popularity, many corporate investors are now accepting them as cross-border payments and the rise is unstoppable. With the advent of the internet and mobile devices,information gathering has become quite easy as a result the BTC financial transactions are accessible and its price is set in accordance with people’s choice and preferences thus leading to a profitable investment with Crypto.com Referral Code Code. Recent surveys have also proved that instability is good for BTC exchange as if there is instability and political unrest in the country due to which banks suffer then investing in BTC can surely be a better option. Again bit-coin transaction fees are pretty cheaper and a more convenient technology for making contracts thus attracting the crowd. The BTC can also be converted into different fiat currencies and is used for trading of securities, for land titles, document stamping, public rewards and vice versa.

    Another advanced block-chain project is Ethereumor the ETH which has served much more than just a digital form of crypto-currency Crypto.com Referral Code and its popularity in the last few decades have allowed billions of people to hold wallets for them. With the ease of the online world,the ETH have allowed the retailers and business organizations to accept them for trading purposes, therefore, can serve as the future of the financial system.

    ReplyDelete
  4. Our full Lace Front Wigs are all hand made with a lace cap. They are manufactured with thin lace sewn on top of the cap. Individual hairs are then sewn onto the thin lace. Each lace wig has lace all around the unit which will need to be cut prior to securing the wig to your head. You will need to cut along the hairline around your entire head. By doing so, you will be able to wear your hair anyway you like. You can even style ponytails, up-dos, etc. Once the Lace Wigs is successfully applied, it will appear that all the hair is growing directly from your head!

    Lace front wigs are hand-made with lace front cap & machine weft at back. Lace front wigs are manufactured with a thin lace that extends from ear to ear across the hairline. When you receive the wig, the lace will be quite long in the front. Cut and style according to your preference, as you will need to apply adhesive along the front of the wig. Once the wig is applied, you will still have Lace Wigs with a very natural appearance.
    TeamWigz Provide the Best Lace Front Wigs and Lace Wigs in Johannesburg and South Africa.

    ReplyDelete
  5. 우리카지노 에 오신 것을 환영합니다. 국내 최고의 카지노사이트 에 가입하여 바카라사이트 에서 다양한 게임을 즐기시면서 대박의 기회를 놓치지마세요! 우리 카지노는 한국의 바카라 산업을 지배하는 카지노 사이트입니다. 우리 카지노는 한국 바카라 시장 점유율의 50 % 이상을 차지하는 10 년 이상 온라인 바카라 시장을 지배 해 왔기 때문에 우리 카지노를 모르는 사람은 거의 없습니다.

    ARTICLE: 우리카지노는 대한민국의 바카라 업계를 장악하고 있는 카지노사이트 입니다. 우리카지노가 대한 민국에서 장악한 바카라 시장점유율이 50%가 넘고 10년 넘게 온라인 바카라 시장을 장악해왔기 때문에 대한민국에서는 우리카지노를 모르는 사람은 드뭅니다. 이런 바카라 업계의 독보적인 입지 때문에 늘 유명하거나 최고만을 찾는 사람들이 카지노사이트를 찾을때는 늘 우리카지노를 찾습니다.바카라를 처음 시작하시는 초보자분들에게도 우리카지노에서 카지노사이트를 시작하시기 좋은 환경입니다. 우리카지노사이트에서는 신규가입시 3만쿠폰을 지급 해주기 때문입니다. 사람들이 늘 1등만을 찾는 이유는 분명 있습니다. 다른 카지노사이트와는 달리 우리카지노를 이용하실시 에이전트를 끼고 게임을 하신다면 본사 이외에 활동쿠폰 및 오링쿠폰을 별도로 제공해주고 있기 때문입니다. 이러한 이유들 때문에 카지노사이트 업계에서 바카라를 즐기신다면 다들 우리카지노를 선호 하십니다. 카지노사이트에서 바카라를 이기기 물론 어렵습니다. 하지만 우리카지노의 에이전트를 끼고 바카라를 즐기신다면 승산이 있다고 봅니다. 우리카지노 에이전트의 연락처는 홈페이지로 연락하시면 언제든지 부담없이 소통가능 합니다. 카지노사이트를 선정할때는 바카라를 다른곳보다 유리하게 즐길 수 있는 카지노를 선택해야한다고 생각합니다. 그것이 바로 우리카지노 입니다. 이상으로 우리카지노와 바카라 카지노사이트 사이의 상관관계를 알아보았습니다바카라사이트.

    ReplyDelete
  6. Tongkat Ali ist eine Pflanze beheimatet in Südostasien. Sie gehört zur Gattung der Bittereschengewächse und Ihr botanischer Name lautet “Eurycoma longifolia”. Es gibt noch eine weitere Reihe länderspezifischer Namen
    wie z. B. “Pasak Bumi”, wie die Pflanze in Indonesien genannt wird oder “longjack”, die allgemeine Bezeichnung für Tongkat Ali Kaufen in den USA, Kanada und Australien.

    Das Ursprungsland von Tongkat Ali Kaufen ist Indonesien, daher findet man auch dort auch die größten Bestände. Weitere Vorkommen gibt es in Ländern wie Thailand, Malaysia, Vietnam und Laos.

    Die Einnahme von Tongkat Ali Kaufen empfiehlt sich insbesondere für Leistungssportler, die einen schnellen
    Muskelaufbau und Muskelzuwachs anstreben und nicht auf illegale und künstliche Substanzen zurückgreifen möchten um Ihren Testosteronspiegel zu erhöhen.

    Generell empfiehlt sich eine Einnahme von Tongkat Ali für alle Männer ab dem 30ten Lebensjahr, da in dieser Phase nachweislich die Produktion von körpereigenem Testosteron zurückgeht. Dies macht sich vor allem dadurch bemerkbar dass die körperliche Leistungsfähigkeit nachlässt, die Lust auf Sex spürbar abnimmt und dadurch allgemein das Selbstwertgefühl negativ beeinflusst wird.

    Mit der Einnahme von Tongkat Ali können Sie nachweislich Ihre Libido Steigern, Ihr Testosteron erhöhen und Ihre gewohnte Lebensenergie aus den jungen Jahren Ihres Lebens wieder herbeiführen. Hier können Sie übrigens weitere Informationen bekommen zum Thema ‘Libido steigern‘ ganz natürlich. Sollten Sie daran interessiert sein lohnt es sich auch unseren Artikel über Butea Superba zu lesen.

    Tongkat Ali wächst als Strauch und kann Höhen von bis zu 12 Metern erreichen. Typischerweise dauert es 10-15 Jahre bis solche Ausmaße erreicht werden. Der Strauch trägt anfangs grüne Blüten die sich im Laufe der Zeit, bis zur Reife, rot färben.

    Allerdings sind die Blüten im Hinblick auf die Wirkung der Pflanze weniger interessant. Der wertvolle Teil verbirgt sich unter der Erde.
    Im Laufe der Jahre wachsen die Wurzeln teilweise senkrecht und bis zu mehrere Meter tief in den Boden, was die Ernte zu einer schweren und mühsamen Arbeit werden lässt. Je älter die Wurzeln sind, desto höher ist auch die Anzahl der Wirkstoffe Butea Superba.
    Von daher gilt es einige Dinge zu beachten sollten Sie Tongkat Ali kaufen wollen.

    ReplyDelete
  7. ChemLab Store Store provide you with top quaility research chemicals like: A-pvp, Methylone Crystals, Methylone Powder, Pentedrone Crystals, Pentedrone Powder, MDPV Powder, Buphedrone Powder, 4-FMC Powder, 4-MemABP Powder, NEB Powder, AMT Powder, 6-APB Pellets, Butylone Powder, MDAI Powder, 4-FA Powder, 4-FA Crystals, MPA Powder, Methoxetamine, JWH-122 Powder, JWH-122 Herbal Buds, Ketamine, AM-2201, Herbal Buds, We have a wide range of products including JWH-018, JWH-073, JWH-200, buy 3 meo pcp online JWH-250, 4-MEC, 5-IAI, Phenazepam, 2c-i, Actavis Promethazine, Naphyrone, U-47700. Methedrone, crystal meth and other chemicals in all different amounts ranging from 5gm to 1kg retail and also large amounts at wholesale prices, When you buy Research Chemicals or bath salts from us you are guaranteed of the highest quality available on the market, high purity products, secure payment, fast and discreet international delivery.

    Disclaimer: None of the Products on ChemLab Research Chem Store are intended for human consumption and Neither ChemLab Research Chem Store,

    nor any of the staff INCLUDING the owner of ChemLab Online Chem Store resume ANY responsibility for ANY injuries to ANY individual who does not correspond with this warning and will not be held accountable for any loss or damages due to an individual burning, inhaling, or consuming into the body of any human being, animal or living specimen. This statement applies to all of the products sold on this site.

    By purchasing ANY PRODUCT ON THIS SITE, You Agree to be held 100% liable for any personal injury or damages due to you (Customer) using any of the products in any way other than that manufacturer’s instructions of use printed on the package!

    ReplyDelete
  8. Health Experts have proven that regular exercise coupled with a good diet allow you to live longer and healthier. In this busy day and age, not everyone has the time to go to the gym - resulting to a lot of overweight people that desperately need to exercise. A healthy alternative is for you to Buy Home Gym Equipments that you can store in your own home or even at your office. Here are some tips when buying home gym equipment.

    First, know your fitness goals and keep these goals in mind when you are buying home gym equipment. One of the biggest mistakes that people make is buying the biggest or trendiest fitness machine simply because they like how it looks. More often than not, these end up gathering dust in your storage rooms or garage because you never end up using them. It is important to take note of what particular type of physical activity you want or enjoy doing before you buy your exercise machine. If you are looking to loose a few pounds and you enjoy walking or hiking, a treadmill is the best option for you. If you are looking to tone your lower body while burning calories a stationary bike is your obvious choice. Similarly, Special Equipments for Core Strength Exercises, Strength Training Weight Vests, Core Strength & Abdominal Trainers, Home Cardio Training, Strength Training Power Cages, Strength Training Racks & More.

    Second, set aside a budget before Buying Home Gym Equipments. Quality exercise machines do not come cheap. They are constantly exposed to wear and tear when they are used properly. So, pick machines that are built to last and have passed quality certifications to get the most out of your money. If you are operating on a tight budget, think about investing in several weights, We can Provide you High Quality Home Gym Equipments at Very Low Prices for your Complete Uses: Core Strength Exercises, Strength Training Weight Vests, Core Strength & Abdominal Trainers, Home Cardio Training, Strength Training Power Cages, Strength Training Racks & More.

    Its the Right Time to Buy Home Gym Equipments for you at Very Low Prices.

    ReplyDelete
  9. PMP certification is the globally recognized certification for project management. It is the validity given by the PMI Institute to candidates who clear certain education and professional criteria - Pass PMP.

    There are many ways to Pass PMP certification.


    Go for the heavy books, memorize them, sit for PMP trainings on your weekend, sit in the long, sleepy PMP video on demand trainings and still have the unsurety of passing the exam.
    Get PMP dumps, PMP practice exams, PMP review material and try to memorize hundreds of questions and still fear of forgetting some and getting new questions as PMP changes very frequently.
    Contact CBTproxy and through PMP proxy exam, PMP Brain Dump get your PMP certification without any hassle.
    There are several sites selling PMP dumps and PMP exam questions which are 90% not reliable. Since there are always new questions in PMP exam, there is no reliability on the PMP dumps. Contact CBTproxy and through our PMP proxy exam, Pass PMP Certification without any hassle. We ensure first time passing guarantee and liberate the candidate from taking the real exam multiple times - PMP dumps.

    ReplyDelete
  10. Buy Dank Now began as an idea to create a top-notch delivery service for buy weed online in the US and quickly evolved in much more. Even though California accepted Safe to Buy Marijuana Online in 1996, we felt there was still a major lacking in quality and service. From what once started as a humble, flower-child type movement, evolved into the next California gold rush.

    Buy Dank Now Shop is committed to ensuring that your privacy and security is protected at all times, in fact, we care so much that we offer guaranteed stealth delivery to anywhere in the world at no extra cost! Buy Weed Online, Glo Carts, Glo Extracts, Glo Cart, Glo Cartridges, Glo thc Carts, Glo vape, Lions Breath Carts, Big Chief Carts and All orders are fully guaranteed, so whatever happens, nothing will ever stand between you and your weed!

    With literally thousands upon thousands of amazing strains from the best breeders in the world, ranging from famous cup-winners to potent, CBD-laden medical strains, High THC powerhouses, Glo Extracts, famous cheese to Buy Marijuana Online and Glo Carts popular white widow strains, all the way through to some of the rarest, hardest-to-find varieties in the world.

    Why Is Marijuana Effective for Treating Anxiety? Conventional medicine uses several different kinds of drugs to treat anxiety disorders, including serotonin reuptake inhibitors like Zoloft and tranquilizers like Valium. However, many patients don’t respond well to these medications. One of the non-psychoactive cannabinoids found in marijuana that is commonly used to treat anxiety is cannabidiol (CBD). Various scientists and researchers have experimented with both animals and humans to test the effectiveness of CBD for anxiety treatment.

    You can get it all right here at Buy Dank Now! Because we only ever work with breeders who meet our rigorous quality standards, you can be sure that whatever products you get from our Website such as, Glo Carts, Glo Extracts, Glo Cart, Glo Cartridges, Glo thc Carts, Glo vape, Lions Breath Carts, Big Chief Carts, they’ll make exceptional additions to your genetic library!

    ReplyDelete
  11. Descubre los mejores diseños de alfombras vinilicas y azulejos adhesivos para decoración e interiorismo. Alfombras infantiles Envío gratis

    ReplyDelete
  12. MetroBizPros is a firm of Business Brokers & Franchise Consulting that focuses on providing exceptional service to Buyers, Sellers, and existing/future franchisees. Our services are delivered with the maximum in confidentiality, Business Broker professionalism and integrity. MetroBizPros is effective and results oriented, leveraging a database of qualified Financial and Strategic Buyers and a confidential national collaborative network of Business Intermediaries. We serve the needs of potential Buyers and Sellers in the District of Columbia, Maryland, Virginia, and in many other states, discretely and professionally with one mission in mind: To add exceptional value to a seamless process of Business Transfer.

    We work with businesses of any size or industry and pride ourselves on our committed and comprehensive service. Our Business Brokers and Consultants operate with honesty and confidentiality to ensure success for both the buyer and the seller. It’s only when the conditions of the deal are suitable to all parties involved that everyone prospers.

    Our Services include but are not limited to, business listings, business valuations, transaction management commercial real estate and new franchise opportunities.

    ReplyDelete
  13. Archie 420 Dispensary is a trusted Cannabis dispensary base in Los Angeles California USA. It is one of the top dispensary in this part of the country. Buds for sales online They do deliver Marijuana in the USA and to over 25 countries in the world. You can always visit their dispensary in Los Angeles using the address on their website. Place your order and get served by the best dispensary in the planet. Have fun.

    ReplyDelete
  14. Crystal online pharmacy is a trusted online drug store with a wide range of products to suit the needs of our clients. Buy Green tea online Crystal Pharmacy do strive to offer the best service and ship products world wide. All the products listed on our website are Ava in stock. Expect your order to be processed Immediately when you send us your request. We deal with varieties of drugs for our customers satisfaction. We cross barriers with our products and struggle hard to meet human satisfaction. When shopping with us, Be safe and secured and you will realize how swift we are with our services.

    ReplyDelete
  15. Universal Gun sales is a trusted Firearm company base in Los Angeles California USA. It is one of the top Firearms Company in this part of the country. Ammunition for sales online They do offer the best firearms deal in the USA and to over 25 countries in the world. You can always visit their shop in Los Angeles using the address on their website. Place your order and get served by the best Firearm Company in the planet. Have fun.

    ReplyDelete
  16. If you own a business, you know how important it is to advertise your product with Custom Paper Packaging and market your business’s story with Custom Paper Packaging around the World. A big part of that story is you should tie with a Reputed Paper Bags Factory which Provide you Top Quality of Custom Paper Packaging. Worldwide shipping has become a huge industry and Custom Kraft Paper Bags being a major contributor. We believe Custom Kraft Paper Bags have significant influence, whether they’re Manufactured from Paper Bag Manufacturer OR A Custom Paper Packaging Company.

    You should also consider looking for Custom Kraft Paper Boxes if you are planning to setup a business. This is to make sure your items are safe and protected from damage when your customers buy them. There are many companies providing these types of services but very few which provide Super Quality Custom Printed Paper bags. Choose the best one providing good materials and design for Custom Printed Paper bags. Custom Printed Paper bags are also an ideal way to promote your products and services. A good product packaging may drive more customers in the future.

    HDPK.Com being a Trusted Custom Kraft Paper Bag Supplier may Produce form of Custom Kraft Paper Bags, Custom Kraft Paper Boxes, Custom Printed Paper bags, brown kraft paper bags, Custom Printed Wrapping Paper or Custom Printed Hang Tags - made according to your design and company image. Attractive packaging entices customers to keep buying from you. Some people also tend to keep and reuse nifty paper bags from stores. This helps promote your store or company to more people. This article will give you more ideas when looking for custom or bespoke packaging services for your business.

    Every Custom Paper Packaging Material will be crafted just for you. You can even customize every inch of the Custom Kraft Paper Bags, Custom Kraft Paper Boxes, Custom Printed Paper bags, brown kraft paper bags, Custom Printed Wrapping Paper or Custom Printed Hang Tags inside and out, while our cutting-edge machines will guarantee you love the quality of your finished packaging boxes. Not many people spend their time thinking about paper packaging – but we do! We believe in pursuing ‘economic growth with a conscious,’ and every product we design is guided by that underlying principle. This allows us to continually meet the needs of our customers, our employees, our world society and the future of humanity.

    Our clients include well-known domestic and global corporations representing a wide range of industries (including fashion, sports, cosmetics, and food and beverage businesses). We are also currently experiencing an increased market penetration in North America, European Union, Southeast Asia and Middle-East. Whether it’s a ‘business to business’ or a business to customer’ relationship, we aspire to be the ‘best of the best! From raw materials, procurement, incoming testing and production control to the final product inspection phase, every process and link in our supply chain adheres to our meticulous quality control protocol.

    Please feel free to contact us for more information if you're searching for a Trusted Custom Kraft Paper Bag Supplier. We appreciate your business!

    ReplyDelete
  17. Understanding about Synthetic Thatch is important to get a Solid Roof for your Homes, Beach Resorts, Water Parks and Restaurants. Synthetic Thatch Roofs are the ultimate roofing choice for making Roofs look cozy, ethnic, or even tropical. Because Synthetic thatch makes such a Perfect Roofing Material, Our Synthetic Thatch Roofing Material with Synthetic Bamboo Panels Products can Never Replaced by Any Other Conventional Roofing Materials.Aluminum Bamboo , Bamboo Fence and Artificial Bamboo evokes with the feeling of beach resorts, relaxing vacations and tropical atmospheres. However, the natural thatch and bamboo has a variety of downsides, such as Fire Hazards, wind issues, insects and rotting. Even though the initial cost is only a little bit lower than synthetic products when you purchase on season Bamboo Poles for Sale but the maintenance fee in the future is a nightmare.
    Tiki torches & Synthetic Bamboo Poles with Artificial Bamboo Products for Synthetic Bamboo Matting offer an easy way to build Homes, Beach resorts, Water Parks and Restaurants anywhere without worrying about maintenance fee.Our Synthetic Thatch Roofing Material & Artificial Bamboo Products Made from Very High in Quality, long-lasting, eco-friendly, fire-retardant and UV-Resistant Synthetic thatch roofing material with are Maintenance-Free. Our Synthetic Thatch Roofing Products are created using molds taken from real synthetic thatch and Artificial bamboo. This allows our products to look exactly like the natural products while being made from a durable, long-lasting, and maintenance-free material.You’ll be astonished at how well our Bamboo Panels withstand ocean breeze, heavy rain, snow storm, intense sunlight and general wear & tear for more than 20 years while still looking amazing.

    ReplyDelete
  18. Health Experts have proven that regular exercise coupled with a good diet allow you to live longer and healthier. In this busy day and age, not everyone has the time to go to the gym - resulting to a lot of overweight people that desperately need to exercise. A healthy alternative is for you to Buy Home Gym Equipments that you can store in your own home or even at your office. Here are some tips when buying home gym equipment.

    First, know your fitness goals and keep these goals in mind when you are buying home gym equipment. One of the biggest mistakes that people make is buying the biggest or trendiest fitness machine simply because they like how it looks. More often than not, these end up gathering dust in your storage rooms or garage because you never end up using them. It is important to take note of what particular type of physical activity you want or enjoy doing before you buy your exercise machine. If you are looking to loose a few pounds and you enjoy walking or hiking, a treadmill is the best option for you. If you are looking to tone your lower body while burning calories a stationary bike is your obvious choice. Similarly, Special Equipments for Core Strength Exercises, Strength Training Weight Vests, Core Strength & Abdominal Trainers, Home Cardio Training, Strength Training Power Cages, Strength Training Racks & More.

    Second, set aside a budget before Buying Home Gym Equipments. Quality exercise machines do not come cheap. They are constantly exposed to wear and tear when they are used properly. So, pick machines that are built to last and have passed quality certifications to get the most out of your money. If you are operating on a tight budget, think about investing in several weights, We can Provide you High Quality Home Gym Equipment at Very Low Prices for your Complete Uses: Core Strength Exercises, Strength Training Weight Vests, Core Strength & Abdominal Trainers, Home Cardio Training, Strength Training Power Cages, Strength Training Racks & More.

    Its the Right Time to Buy Home Gym Equipment for you at Very Low Prices.

    ReplyDelete
  19. Are you looking for the best credit cards in Canada? Aeroplan, AIR MILES, bnc world elite, American Express, BMO? Here are the best offers in 2021!

    ReplyDelete
  20. 국내 최고 스포츠 토토, 바카라, 우리카지노, 바이너리 옵션 등 검증완료된 메이져 온라인게임 사이트 추천해 드립니다. 공식인증업체, 먹튀 검증 완료된 오라인 사이트만 한 곳에 모아 추천해 드립니다 - 카지노 사이트 - 바카라 사이트 - 안전 놀이터 - 사설 토토 - 카지노 솔루션.

    온라인 카지노, 바카라, 스포츠 토토, 바이너리 옵션 등 온라인 게임의 최신 정보를 제공해 드립니다.

    탑 카지노 게임즈에서는 이용자 분들의 안전한 이용을 약속드리며 100% 신뢰할 수 있고 엄선된 바카라, 스포츠 토토, 온라인 카지노, 바이너리 옵션 게임 사이트 만을 추천해 드립니다.

    ReplyDelete
  21. Wir sind eine deutsche Tierbestattung. Wir arbeiten mit Partnern in Deutschland, Österreich und der Schweiz zusammen.

    In nur wenigen Schritten kannst du bei uns online eine Tierbestattung inkl. Einzelkremierung und biologisch abbaubarer Tierurne in Auftrag geben.

    Lass dein verstorbenes Tier in einem Animal Tree® weiterleben.

    Wenn dein Tier stirbt, kümmern wir uns umgehend. Ob Hund, Katze oder ein anderes geliebtes Tier, wir holen dein Haustier zu Hause oder beim Tierarzt ab und sorgen für einen guten letzten Weg über die Regenbogenbrücke.

    Die Animal Tree® Tierbestattung ist so anders, einfach und schön. Tier im garten begraben Lasse dein verstorbenes Tier in unserem Animal Tree® weiterleben und schaffe dir so deinen Platz des Erinnerns.

    Uns sind kurze Wege wichtig, deshalb arbeiten wir immer mit regionalen Kleintierkrematorien zusammen.

    Mit unserer biologisch abbaubaren Tierurne wird aus der Asche deines Tieres über die Jahre ein Baum wachsen, der voller Erinnerungen an dein Haustier ist.

    ReplyDelete
  22. Kids, from the time they are very young, are drawn to animals. Petting Zoos in Austin give you a way to tap into their natural interest while also teaching them valuable social skills. Providing lessons in empathy is a critical part of encouraging the healthy emotional development of your son or daughter in Austin Petting Zoo And getting to know the animals in the zoo gives kids the opportunity to learn to understand and respect the feelings of others as Austin Petting Zoo is the best petting zoo. At Austin Petting Zoo, these lessons can be taken one step further by giving them the chance to regularly engage with animals they might not ordinarily be able to keep at home.

    Develop Bonds in a Comfortable Environment

    For many children, making new friends is challenging due to shyness, or they may just need a special critter to snuggle with after a stressful day at school. While summer camps help foster friendships between children of all ages by providing relaxing activities, there is just something special about the connection kids make with their new and furry friends. From whispering secrets into a bunny’s ear to stroking the soft fur of a baby goat, children quickly form bonds with the animals in their barnyard zoo. These experiences allow them to strengthen their relationship skills. Since the "residents" in a petting zoo are acclimated to being around children, parents can be reassured that their child will be able to practice showing empathy to animals that are going to return their affection.

    Learn to Pick Up on Non-Verbal Cues

    Most children are very self-expressive verbally, but they often need guidance with learning how to pick up on non-verbal communication. Since animals can’t talk, kids must pay attention to little signs such as wagging tails and squirming. At the petting zoo, adults help to model gentle behavior with children to teach them when an animal is saying they are ready to be held and when they want to be put down. As children get to know the "critters" even better, it is fun to watch them start to adjust their behavior to communicate with their favorites. For example, you will see a child learn to crouch and wait patiently with their hand out for a shyer animal to come over. Other times, with a playful young pup, they may be a little more rambunctious.

    See the Positive Effects of Showing Compassion

    Feeling a kitten purring in their hands and getting nudged by a friendly goat lets kids see the immediate effects of showing empathy. And those who regularly visit a petting zoo also get opportunities to care for the animals in petting zoo Austin. By spending time feeding and tending to their needs, and by also receiving instant and positive reinforcement, kids quickly learn compassion. This allows them to experience how good it feels to be responsible for the care of something outside of themselves. After all, who can resist being on the receiving end of the affection of a furry friend that just got fed?

    Petting zoos are filled with quirky barnyard animals that love spending time with active children. In fact, since the animals and kids engage in lots of petting and play, it’s hard to tell who enjoys the interactions more. And, with every visit, parents can be sure their little ones are learning empathy and gaining valuable social skills.

    Let your kids enjoy Austin Petting Zoo and Aquariums and Aquariums. Experienced staff will keep your child both safe and busy with arts and crafts, games, water sports, gymnastics and more. Visit the site at to see the fun your child will have at Austin Petting Zoo.

    ReplyDelete
  23. Cricket is not just a sport in India, it is just like a religion. All over the country, people are crazy about the game and wait patiently for the top domestic and international tournaments of the sport. Unsurprisingly, cricket is India’s biggest market, and a lot of people are eager to bet on their favorite teams and games.

    Betting On Cricket is a big market and has millions of players worldwide. There are a lot of websites that allow users Online Betting On Cricket In India. Before you start with Betting On Cricket online, you need to make sure that the bookmaker you choose is safe and trustworthy. No one wants to lose money due to fraud.

    Check if the Online Cricket Betting website is licensed by the right authorities and search for customer reviews. The best sites have flexible payment methods for Indian players, and they accept the Indian currency. Monetary transactions are processed quickly, and they have many great offers and rewards for new and existing users.

    Betting on cricket online is on the rise in India, with more and more cricket lovers trying out their luck on the matches. You will get access to the best odds and markets for almost all major international and domestic cricket games. We will help you in getting started with betting cricket in India and tell you about the best possible websites to bet.

    Get free Online Cricket Betting tips and prediction on today's and tomorrow's matches at CricketBetOnline.in. If you love Online Cricket Betting In India and want free Online Cricket Betting predictions and tips, CricketBetOnline.in is one of the best online sites to start betting and understanding the fundamentals of Betting On Cricket.

    ReplyDelete
  24. Lsd tabs, is a psychedelic medication that fleetingly yet effectively adjusts human observation, conduct etc, you can buy lsd gel tabs with unfastened mail delivery. One on-line brand of acid tabs is sold each day and you can contact us to buy lsd online. In case you save online, you may purchase high-quality satisfactory of Sheet Of Acid and on line expenses will increase the fee. We offer our customers high quality acid sheet for sale without any license to order.

    We offer acid gel tabs from Wyoming. You can't begin a new lifestyles due to the fact you did not get rick and morty acid tabs in your ultimate order. you could use buying acid tabs online even as asleep or in the dark. there is extra approximately Lysergic Acid Diethylamide and other tablets. Lsd tabs has been found to show excessive withdrawal signs and symptoms which includes insomnia, headache, dizziness, dizzy and nausea, vomiting, rapid heartbeats or even dying. Lsd acid tabs is used to alleviate depression and tension in those who experience foremost despair disease (MDD). Order reasonably-priced acid gel tabs secure shipping and less expensive.

    There also are no recognised risks while taking a few psychoactive materials. it's also commonplace to mistake some of these psychoactive substances for stimulants. some human beings enjoy a exchange in an acid tabs location in the same way a person feels when seeing or hearing a number of their very own bodily sensations in a few manner. these adjustments are every so often described as "darkness, lack of urge for food or melancholy" Gel Tabs Acid and are not usually linked to the withdrawal impact. some people can also experience lack of their sense of nicely-being while their interest or consciousness modifications. a few human beings may revel in modifications of their temper or temper-changing residences once they end up depressed, anxious or irritable - buy lsd online.

    ReplyDelete