I have done it before. Not as a regular routine, but it is something I would like to make a habit of some kind.
In general not really. But on a personal level I feel like I can be stubborn with it every now and then assuming it isnt working for me. But I think thats more so because I dont do it enough for it to have any kind of lasting impact.
My head is very very very busy. I consider myself a bit of an overthinker, which doesnt help when it comes to focussing being present. I found that my mind wanders quite easily, I try my best to calmly bring my attention back to the meditation. But depending on what is currently on my mind will determine how easy or not it is to focus back to the present.
I definitely see the benefit of allocating a certain time of the day to meditation/mindfulness. The times where I was able to properly zone into what my body was doing without too many distractions were really nice. It felt good to not have the brain going 100 miles an hour thinking about what else is going on in my life.
Although I havent implemented a habit for mindfulness, I do want to include at least 5 minutes a day to this. I think the best time of day is probably the morning and before I go to bed because I tend to struggle to switch off when I need to. So getting at least one of those times of day is going to be what I want to commit to.
I think its nice to hear someone else say what I am thinking. If I am explaining something to someone, I try my best to make it understandable which inherently helps me because I end up thinking a lot about the feelings and challenges I am facing which leads to a better self awarness/understanding of what Im doing. It also feels good when it is understood by the listener and tends to make me feel a little bit better about my challenges because Im not getting a "how do you not understand something so basic", or "that doesn't make any sense" from the listener.
Being able to hear what someone else with a completely different background is experiencing and finding challenging was really refreshing.  I found a lot of relation to what the speaker was saying which made the listening and looping back aspect easier. I found that by focussing on what they were saying, I was taking my mind off of all the things I had to do because I wanted to properly hear what they were thinking. In a way it sort of reminds me of the headspace exercises, but you are instead focussing on the present of someone else and trying to be empathetic and understanding to what they are experiencing.
I learn better when I have a concept that I can relate to a certain task or exercise. Reading a concept and what it does tends to not be taken onboard as effectively if I dont understand what that concept is used for specifically. The freeCodeCamp exercises were great because I was practicing as I learnt instead of only taking notes. I think I would have liked it more if there was a more literal example of why I would use a certain technique but when there wasnt that explanation, I usually just googled the useful application for the techinque anyway. I hope there are more exercises involving FreeCodeCamp throughout the remainder of foundations.
I did the timeboxes quicker in most cases. I found it easy to understand the basics, perhaps because a lot of the concepts being things I knew already from my small understanding of a different programming language. However the harder it got, the harder I found it to move on because I didnt fully understand it. Even now after going through and completing all the challenges.  I think for me its more important to acknowledge the things Im not fully understanding and make sure I note it somewhere to return to at a later date. I have noticed that this works when I give it some time and come back later after doing something different.
I think some concepts would still have me scratching my head in some points. Overall I would be able to do a better job of the exercises. But not entirely as I know that there are a lot of concepts that arent autonomous in my brain yet.
I found myself pretty bored during this section, again its one of those things I know a little bit about already so it made re-reading things a little bit tedious. DOM manipulation is definitely one of the interesting aspects of this section that I want to spend a lot of time on, but in a practical doing sense. There are a lot of branches of information on the topic so I found it hard to actually know where to look and determine what is useful or not useful in the context of a beginner just trying to learn the fundamentals.
I have 10 tabs open, 9 are study related. 1 is not. It was a google search for a random thought in my head.
The trend I am noticing regularly is my lack attentiveness when it comes to information that doesnt have a direct relation to the main topic. For example in the video tutorial, the tutor went off and started writing Ajax requests which I know nothing about nor will I know if I focussed on what he was coding. So my attention fell off pretty quickly. This is not overly good because although I dont see the direct value of the info, I lose attention and therefore any momentum I had from being focussed as well as any potential useful information embedded in the content.
I think I just lost a bit of interest when the tutor starting doing random stuff that didnt have much purpose outside of showing the console doing random functions. I kind of just persisted through the random things and made sure that the essential information was kept track of and noted.
Yes I went straight to writing profanities on popular website.


The menu consists of three different parts: First level LIs are formated horizontaly as absolutely positioned blocks, they are always visible. Their parent UL is formated as single line, 1.2em hight; the em-unit is good, for we can set its exact height depending on actual font size (LI heights and paddings are set by ems, too). All <A> elemements are formated as blocks to fit all menu item's width.
The second-level ULs are verticaly oriented, each bellow its parent LI. They aren't positioned at all, they just flow under top-level menu items. They are hidden due to LIs height and overflow:hidden. In CSS, I set for these LIs:hover higher height and overflow:visible - this makes the nested UL visible until we move out of the (now larger) top-level LI's box.
The third-level ULs are absolutely positioned next to their parent LI, having display:none. The trigger is on their parent LI:hover - it sets them display:block. These 3rd-level ULs may be repeated as may times as we need (the behaviour above 3rd level stays the same). Just look at items 1.2, 1.2.2, and <IP_ADDRESS> to see the formating.
The style is made to put the menu anywhere in the document's normal
flow, even it can be positioned. Due to sizes beeing set strictly by
em-units, any font-resize is possible without breaking the menu
(actually, it resizes with the font size). Try smaller/larger font size
in this document.
See the code for details (CSS is part of this document).
Correct links should be set on every <a href> (on each level) to be sure every user can use the navigation.
Why not MSIE?
This construction works in Gecko-based browsers (tested in Mozilla, Camino), in Opera 7, and Safari (maybe Konqueror, too?). Microsoft decided to implement the :hover pseudo-class for A elements only. That's the reason the menu won't work in any IE browser (there is missing the LI:hover trigger to start the action). However, some Javascript (hopefuly a simple one) may be added to allow this menu in IE as well. Maybe I'll publish it here later...


This is good if your company size is less than 30 Persons.
This is good if your company size is between 30 and 59 Persons.
This is good if your company size is between 60 and 99 Persons.
This is good if your company size is above 99+ Persons.


I have been a GBL user for many years, but the last two years it became an addiction for me (2 ml dose many times a day and night). I wish I could take it for sleeping only, but I need at least 12 ml to knock me out. That's because, the last year I started smoking and smoking pot. Because when used together, GBL and smoking washes away most of each others effects, I really smoke a lot (because being on GBL, you dont think how bad so much smoking is anyway). And I still use GBL a lot (because when I smoke I definely need more GBL to feel anything).
When I dont take GBL for few hours, I get all kranky, nervous, shaky and sweating. Being unemployed the last few months dont help a single bit ofcourse :(
My bedtime ritual goes like this: At two at night I try to smoke and GBL myself asleep, till noon, or later... In this long night, I can not remember falling out now and then, cos I probably do, cos it's been going on for months...But I can not remember having a normal night sleep...
I could take the 12 ml to get me asleep, but that only works for 0ne or Two hours and then I would be even more awake...
And more scary, twice I had a stinging feeling in my head, that only went away after putting my head under icecold water... It feels like a sunstroke and like dying in an extremely painful way...  Broken bones are not uncommon for me.
Anyway, I decided to cut down the smoking first and then the GBL, cos the later, when used alone, is easier to live with for the moment... By the way, I use all sorts of drugs, but aim at the downers, special K, etc, and stay away from the uppers, speed, cristal, coke, etc.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Distributing Ring Applications¶
In this chapter we will learn about distributing Ring applications.
The next method is old and was used in Ring 1.5 and previous versions!
Starting from Ring 1.6 we have a nice tool called Ring2EXE
Using Ring2EXE we can distribute applications quickly for Windows, Linux and macOS
Check the Ring2EXE chapter for more information!
Distributing Applications for Microsoft Windows¶
Step 1:
Copy c:\ring\bin folder to be for example c:\myapp
Step 2:
Rename c:\myapp\ring.exe to c:\myapp\myapp.exe
Step 3:
Create a file c:\myapp\ring.ring
And write
Load "myapp.ring"
When you run myapp.exe the file ring.ring will be executed automatically
So your file myapp.ring will be called and executed
Or just rename myapp.ring to ring.ring
It’s a fast way to distribute applications.
Protecting the Source Code¶
Step 1:
Execute the next command
ring myapp.ring -go
This will generate one object file (myapp.ringo) from the project files (*.ring)
Step 2:
Rename myapp.ringo to ring.ringo
When you run the executable file (ring.exe) or (myapp.exe) the file ring.ringo will be executed.
The files ring.ring and ring.ringo¶
Ring will run ring.ring or ring.ringo only when
- The file exist in the current directory
- No file is passed to (ring.exe) to execute
We added the support to ring.ring (and ring.ringo) for a way to distribute Ring apps (before Ring2EXE)
Creating Windows Installer¶
There are many tools that you can use to distribute your application.
Check : nullsoft scriptable install system
Using C/C++ Compiler and Linker¶
Another method to distribute applications is to use a C/C++ compiler.
Ring can be embedded in C/C++ projects, We can create executable files using a C/C++ compiler by embedding the Ring language in our project.
Check the “Embedding Ring Language in C/C++ Programs” chapter.
Using this way we will avoid using ring.ring or ring.ringo files.
Distributing Applications and Games for Mobile¶
Ring can be embedded in a Qt projects or LibSDL projects to build Mobile applications and Games.
You can build the Qt project or the LibSDL project and get the Android package directly (*.apk)
Check Ring distributions for Mobile development using Qt or LibSDL.


In all the technologies and skillsets we'll explore in this course, I want you to approach them with the same questions that I have explored in my career. These simple questions will help you decipher what's going to get you the furthest for the longest.
Technological sustainability is not easy; both in remaining relevant by sustaining your own skills as well as the sustained use of any solution by anyone or their organization.
What problem does this solve?
Who built this?
Where is this being used?
How can I go about using it?
Why do people use this over alternatives? (and what are the top 3 alternatives)
With each problem / solution space we look at in this course we're going to look at it through the lens of these questions.


For this question, assume we have an array of
boolean values called arr that has a length of 5. We want
to print out the elements in arr in reverse order.
for (int i = arr.length; i >= 0; i--)
{
System.out.println(arr[i]);
}
What is wrong with this loop?
This would throw an ArrayIndexOutOfBoundsException. The last value in arr is stored at index 4 (one less than length).
- This would throw an IncompatibleTypeException as we can't iterate through an array of booleans.
- This would cause a syntax error because the square brackets ([]) are used incorrectly.
- This loop has no problems and would run without issue.
There are no hints for this question


SOURCE: seeds were sold by a friend in Argentina
Prep: 50 seeds were roasted until popping, left to cool then ground in an espresso grinder until they were a fine dust. Seeds were then placed in a mortar and ground even finer while mixing in limestone paste bought from an Asian market. This limestone paste is sold and used for betel nut chew preparation, it comes in two flavors white and red :) approximately 1/4 of the snuff is lime, this is done by eye balling, I use the red lime so that I can tell when the snuff has turned pink thatís when I know the snuff is mixed well. The lime is the most important ingredient. Without the right amount of lime the yopo experience is a pale shadow and somewhat useless. My bioassays have proven time and time again that with out the right amount of lime the experience is useless and is lacking in visual phenomena.
When I spoke with Jonathan Ott about his experiences he said he didnít really get visuals from it just shamanic ecstasy, and I think this is because he like every one else isnít adding enough base. The limestone extracts the alkaloids from the plant while at the same time allows maximum absorption into the mucous membranes, not enough lime means not enough of the alkaloids are being absorbed into the sinuses, and at the most one will get a slight 5-meo-dmt rush. However if the right amount of lime is added the effects are much like freebaseing N,N-DMT mixed with 5-meo-DMT, and its over all effects are much like a short lived ayahuasca session. Filled with amazing visits with spirits and purging/healing.
The come on is fast and furious starting with the heaviness of a 5-meo-dmt insulflation and peaking with an amazing entrance into hyperspace, swirling vortexes of crystalline energies with the colors of dmt illumination, the entire trip lasting only 2 hours including pleasant after glow. Open eye visuals and closed eye visuals being totally the same. The color patterns eventually turn towards full on visions, so far I've hung out with mermaids, eagle, swan, raven, and my twin self-running around my teepee! Many people I have introduced it to have full on visions regarding their paths in life and where they are going, very powerful life affirming visions. After 30 min. the visual aspect dies down and one is left with a powerful psychic opening filled with insight and energy.
So far from all my reading and research not many people are getting this right. The way I have prepared it has given steady dependable results in 20 sessions with over 12 people. It has proven to be a great shamanic ally for healing and divination and due to its painful and unpleasant route of administration (snuffing) Iím pretty damn sure all that will attempt to befriend it will do so with the utmost respect it deserves. Yopo and the jaguar are one and it has a nasty bite, but it is a great teacher and healer and guide.
I would like to add that starting in low doses of four seeds and working one's way up is recommended. Too large a dose can result in strong purging and in some cases memory loss of the entire experience, this has only happened in one person I've done it with, but it was nothing I havenít seen from mushrooms or ayahuasca, so if you do find your self in such a dysphoric yopo experience don't get too upset.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Lead Data Scientist - Ranking Algorithms - San Francisco, CA
Faire is using machine learning to change wholesale and help local retailers compete with Amazon and big box stores. Our experienced data scientists and machine learning engineers are tackling recommendations, ranking, search, logistics, underwriting, and more - all with the goal of helping local retail thrive.
Job Description
The Data Science team owns a wide variety of algorithms and models that power the marketplace. We care about building machine learning models that help our customers thrive. How do we rank relevant best selling makers for our retailers? How fast can we reach significance on our ranking AB tests? What other great insights can you surprise us with?
We're looking for someone who's comfortable working on the cutting edge of machine learning research. You're happy working autonomously and delivering results without micromanagement. You wake up ready to take a problem end-to-end, dive into the guts of our information-rich databases, and produce actionable insights. You can't wait to push the boundaries and discover the next big thing, then share it with your peers. You are, or will be, world-class in ranking and help lead the wider data community. Faire will soon be known as a top destination for data scientists and machine learning, and you will help take us there!
You're excited about this role because…
You'll be able to work on cutting edge ranking problems combining a wide variety of data about our retailers, makers and products
You want to use machine learning to help local retailers and independent makers succeed
You want to be a foundational member of a fast growing company
You like to be challenged working on marketplaces
Qualifications
3+ years of industry experience using machine learning to solve real-world problems with large datasets
Experience with ranking models (pointwise, pairwise, listwise models and understanding of the trade-offs associated with each)
Experience working with either boosted trees models or with neural network models for ranking
Strong skills in statistics, probability, and/or machine learning
A track record of performing data science. The tooling/language isn't important. (e.g., numpy, pandas, scikit-learn, R, Julia, etc.)
An excitement and willingness to learn new tools and techniques
Experience with relational databases and SQL
Relentless resourcefulness and the ability to thrive in a startup -- you're willing to do what needs to be done for the success of your team
Nice to have: MSc or PhD in any mathematical or statistical subject, e.g.: mathematics, statistics, computer science, astrophysics, neuroscience, operations research, economics, any of the physical sciences
The ability to self-regulate and get stuff done with minimal direct supervision
An intense curiosity and need to figure things out
Strong communication skills and the ability to work with others in a closely collaborative team environment.
What We Offer:
We're growing fast. You will get in on the ground floor of something that's going to be special.
We're funded by the best VCs in the world.
Our founding team is experienced and led the development of one of the top 25 apps in the US App Store (Square Cash).
Great technology stack. It's fun to work with the best tools and the latest software.
The business makes sense. It's straightforward, provides clear value to both retailers and makers. You get to help change an entire industry for the better.
It's beautiful. Work on something that's well-designed, following the footsteps of Apple and Square.
About Faire
Faire is an innovative online marketplace that uses machine learning to match local retailers with the makers of products that uniquely fit their stores. We are using the power of technology to connect makers and boutiques from all over the world, building a thriving community of over 50,000 small business owners.
Our mission is to empower entrepreneurs to chase their dreams. We believe entrepreneurship is a calling. It's a way of life that offers people a level of autonomy and fulfillment that's become difficult to find elsewhere in our economy. Most of our customers have left behind jobs they hated to take a chance on themselves. We want to make sure their boldness and self-belief gets rewarded.
This mission also extends to the way we are building the company. Every member of our team is an owner of the business and taking part in the founding process.
Faire is being built for entrepreneurs, by entrepreneurs.
Additional Information
Faire provides equal employment opportunities (EEO) to all employees and applicants for employment without regard to race, color, religion, sex, national origin, age, disability, genetics, sexual orientation, gender identity or gender expression.


Windows Xp Sp1 Full Download Usbrown
Windows Xp Iso Full Version Free Download 32 64 Bit
Windows Xp Home And Professional X86 32 Bit Free Download Disc Image Iso Files Getmyos Com
Windows Xp Professional Iso Download Pcriver
Baixar Windows Xp Sp1 Portugues Iso Fasrshore
Windows Xp All Editions With Download Links Index Of Apps
Windows Xp Professional Sp1 Greek Microsoft Free Download Borrow And Streaming Internet Archive
Download Usb Driver Windows Xp Sp1 Iso Powerupaid
Windows Xp Professional 64 Bit Iso Free Download Sp3 Info Gedget
Telecharger Windows Xp Sp1 Iso Peatix
Windows Xp Professional 64 Bit Iso Free Download Sp3 Best Of
Windows Xp Iso Sp3 Official Bootable Free Download Full Edition Softsfreak Com
Windows Xp Sp3 Iso Download Webforpc
Windows Xp Sp3 Iso Free Download Onesoftwares
Windows Xp Pro Iso Sp3 Peatix
Download Windows Xp Professional Sp2 32 Bit Iso Torrent Windows Fundamentals For Legacy Pc S Png Image Transparent Png Free Download On Seekpng
Windows Xp Sp3 Iso Download Downloadmeta
Windows Xp Professional 32 Bit Iso Free Download Onesoftwares
Windows Xp Professional Service Pack 1 Full Download Chinasite
Windows Xp Home Edition Oem Iso Download Single Click Free Software Download
Windows 7 Sp3 Iso Download D0wnloadhow S Blog
Download Windows Xp Sp1 Sp2 Or Sp3 Full Free 2021
Windows Xp Professional Sp3 April 2019 Free Download Pc Wonderland
Windows Xp Home Edition Iso Download Sp2 For Windows Patched Peatix
Windows Xp Sp3 Free Download Bootable Iso Webforpc
Windows Xp Professional Sp3 X86 X64 August 2018 Free Download
Windows Xp 64 Bit Iso Free Download Bootable Image Its Windows Xp Professional 64 Bit Sp1 Iso Dir Windows Xp Windowss Microsoft Windows
Windows Xp Home Free Download Downloadbytes Com
Windows Xp 64 Bit Iso Page 1 Line 17qq Com
Windows Xp Professional Sp3 March 2020 Free Download
Windows Xp Professional Sp3 X86 July 2018 Free Download


Juul stops US sales of mint-flavored e-cigarettes
by Frank MilesJuul Labs said Thursday it will stop selling mint-flavored electronic cigarettes in the U.S. amid a nationwide backlash against vaping.
The San Francisco-based company took the step days after new government research showed Juul to be the top brand among high schoolers who use e-cigarettes and that many prefer mint. The study by the University of Southern California showed that mint was the most popular flavor among Juul users in 10th and 12th grades, and the second-most popular flavor among middle-schoolers.
After halting mint sales, Juul only will sell menthol and tobacco flavors. Mint and menthol accounted for nearly 60 percent of the company’s retail sales in the past year, according to data compiled by Wells Fargo analyst Bonnie Herzog.
VAPING DEATH TOLL HITS 34 IN US AS CDC CONFIRMS OVER 1,600 ILLNESSES
“If they really wanted to keep the kids away they would also get rid of menthol,” Meredith Berkman of Parents Against Vaping E-Cigarettes told the Associated Press. “We hope the administration will understand that too — they should be taking menthol off the market.”
Mint and menthol have often been treated interchangeably by vaping researchers. However, the USC study found that fewer than 6 percent of teenagers across all grades preferred menthol
Federal health officials are expected to soon release plans for removing most vaping flavors from the market, and Juul has said it will support and comply with that government policy.
In September, President Trump said his administration would look to ban all non-tobacco flavored e-cigarette products. Juul has already made a series of concessions to try and weather a crackdown from local, state and federal officials. It stopped selling popular fruit and dessert flavors in stores last year, and last month, stopped selling them online, too.
CDC GIVES VAPING-RELATED LUNG ILLNESSES A NAME
Underage vaping has reached what health officials call epidemic levels. In the latest government survey, 1 in 4 high school students reported using e-cigarettes in the previous month, despite federal law banning sales to those under 18.
In an update issued in late October, the Centers for Disease Control and Prevention (CDC) said there were more than 1,600 cases of e-cigarette or vaping-associated lung injury (EVALI). A specific compound or ingredient causing the injuries has not yet been identified.
E-cigarettes typically heat a solution that contains nicotine, which makes cigarettes and e-cigarettes addictive.
CLICK HERE TO GET THE FOX NEWS APP
Juul is the best-selling e-cigarette brand in the U.S. The privately held company has been besieged by legal troubles, including multiple investigations by Congress, federal agencies and several state attorneys general. The company is also being sued by adults and underage Juul users who claim they became addicted to nicotine through the company's products.
The Associated Press contributed to this report.


{% extends "Layout.html" %} {% block content %} 404 - Oops, this page not found The link „{{Url}}“ might be corrupted Go back home. {% endblock %}
The link „{{Url}}“ might be corrupted


Select first pokemon type:
Select second pokemon type:
The first type selected is:
The second type selected is:
The third type selected is:
The fourth type selected is:
The result is:


"Type the text exactly inside the box to check the time taken. Practice more to improve your Speed !"


Sign out
Red-flags
Interventions
Profile
View red-flag
Create red-flag
Delete red-flag
View intervention
Create intervention
Delete intervention


CREATE SCHEMA
Defines a new schema for the current database.
Syntax
CREATE SCHEMA [ IF NOT EXISTS ] schema_name [ AUTHORIZATION username ] [ schema_element [ ... ] ] CREATE SCHEMA AUTHORIZATION username [ schema_element [ ... ] ]
Parameters
- IF NOT EXISTS
-
Clause that indicates that if the specified schema already exists, the command should make no changes and return a message that the schema exists, rather than terminating with an error.
This clause is useful when scripting, so the script doesn’t fail if CREATE SCHEMA tries to create a schema that already exists.
- schema_name
-
Name of the new schema. The schema name can't be
PUBLIC
. For more information about valid names, see Names and Identifiers.Note
The list of schemas in the search_path configuration parameter determines the precedence of identically named objects when they are referenced without schema names.
- AUTHORIZATION
-
Clause that gives ownership to a specified user.
- username
-
Name of the schema owner.
- schema_element
-
Definition for one or more objects to be created within the schema.
Limits
Amazon Redshift enforces the following limits for schemas.
-
There is a maximum of 9900 schemas per database.
Examples
The following example creates a schema named US_SALES and gives ownership to the user DWUSER:
create schema us_sales authorization dwuser;
To view the new schema, query the PG_NAMESPACE catalog table as shown following:
select nspname as schema, usename as owner from pg_namespace, pg_user where pg_namespace.nspowner = pg_user.usesysid and pg_user.usename ='dwuser'; name | owner ----------+---------- us_sales | dwuser (1 row)
The following example either creates the US_SALES schema, or does nothing and returns a message if it already exists:
create schema if not exists us_sales;


Hello
you are receiving this email because someone triggered the account recovery options for your Sketchlab account.
Your password has been reset
New password:
Please make sure that you enjoy your new password thoroughly, as chances are it's one-of-a-kind.
If you do not enjoy your new password to this extend, you can also change it online.
Happy sketching,
The Sketchlab mail service


The functionality and sheer usefulness of Drill is growing fast. If you’re a user of some of the popular BI tools out there like Tableau or SAP Lumira, now is a good time to take a look at how Drill can make your life easier, especially if you’re faced with the task of quickly getting a handle on large sets of unstructured data. With schema generated on the fly, you can save a lot of time and headaches by running SQL queries on the data where it rests without knowing much about columns or formats. There’s even more good news: Drill also works with data stored in the cloud. With a few simple steps, you can configure the S3 storage plugin for Drill and be off to the races running queries. In this post we’ll look at how to configure Drill to access data stored in an S3 bucket.
If you’re more of a visual person, you can skip this article entirely and go straight to a video I put together that walks through an end-to-end example with Tableau. This example is easily extended to other BI tools, as the steps are identical on the Drill side.
At a high level, configuring Drill to access S3 bucket data is accomplished with the following steps on each node running a drillbit.
- Download and install the JetS3t JAR files and enable them.
- Add your S3 credentials in the relevant XML configuration file.
- Configure and enable the S3 storage plugin through the Drill web interface.
- Connect your BI tool of choice and query away.
Consult the Architectural Overview for a refresher on the architecture of Drill.
Prerequisites
These steps assume you have a typical Drill cluster and ZooKeeper quorum configured and running. To access data in S3, you will need an S3 bucket configured and have the required Amazon security credentials in your possession. An Amazon blog post has more information on how to get these from your account.
Configuration Steps
To connect Drill to S3, all of the drillbit nodes will need to access code in the JetS3t library developed by Amazon. As of this writing, 0.9.2 is the latest version but you might want to check the main page to see if anything has been updated. Be sure to get version 0.9.2 or later as earlier versions have a bug relating to reading Parquet data.
wget http://bitbucket.org/jmurty/jets3t/downloads/jets3t-0.9.2.zip
cp jets3t-0.9.2/jars/jets3t-0.9.2.jar $DRILL_HOME/jars/3rdparty
Next, enable the plugin by editing the file:
$DRILL_HOME/bin/hadoop_excludes.txt
and removing the line jets3t
.
Drill will need to know your S3 credentials in order to access data there. These credentials will need to be placed in the core-site.xml file for your installation. If you already have a core-site.xml file configured for your environment, add the following parameters to it, otherwise create the file from scratch. If you do end up creating it from scratch you will need to wrap these parameters with <configuration>
and </configuration>
.
<property>
<name>fs.s3.awsAccessKeyId</name>
<value>ID</value>
</property>
<property>
<name>fs.s3.awsSecretAccessKey</name>
<value>SECRET</value>
</property>
<property>
<name>fs.s3n.awsAccessKeyId</name>
<value>ID</value>
</property>
<property>
<name>fs.s3n.awsSecretAccessKey</name>
<value>SECRET</value>
</property>
The steps so far give Drill enough information to connect to the S3 service. Remember, you have to do this on all the nodes running drillbit.
Next, let’s go into the Drill web interface and enable the S3 storage plugin. In this case you only need to connect to one of the nodes because Drill’s configuration is synchronized across the cluster. Complete the following steps:
- Point your browser to
http://<host>:8047
- Select the ‘Storage’ tab.
- A good starting configuration for S3 can be entirely the same as the
dfs
plugin, except the connection parameter is changed tos3n://bucket
. So first select theUpdate
button fordfs
, then select the text area and copy it into the clipboard (on Windows, ctrl-A, ctrl-C works). - Press
Back
, then create a new plugin by typing the name into theNew Storage Plugin
, then pressCreate
. You can choose any name, but a good convention is to uses3-<bucketname>
so you can easily identify it later. - In the configuration area, paste the configuration you just grabbed from ‘dfs’. Change the line
connection: "file:///"
toconnection: "s3n://<bucket>"
. - Click
Update
. You should see a message that indicates success.
Note: Make sure the URI has scheme “s3n”, not “s3”. It will not work with “s3”.
At this point you can run queries on the data directly and you have a couple of options on how you want to access it. You can use Drill Explorer and create a custom view (based on an SQL query) that you can then access in Tableau or other BI tools, or just use Drill directly from within the tool.
You may want to check out the Tableau demo.
With just a few lines of configuration, you’ve just opened the vast world of data available in the Amazon cloud and reduced the amount of work you have to do in advance to access data stored there with SQL. There are even some public datasets available directly on S3 that are great for experimentation.
Happy Drilling!