Lendo Azure Blob Storage através do SQL Server 2016 com T-SQL

Fala galera, o Polybase é mais uma das coisas interessantes que foi lançado no segmento de Big Data e Data Science do SQL Server 2016. Ele nos dá a possibilidade de ler dados diretamente de uma base Hadoop ou de um arquivo armazenado no Azure Blob Storage. Neste post vou mostrar como configurar e disparar consultas escritas em T-SQL de dentro do SQL lendo dados de um arquivo CSV que está no Blob Storage. Lembrando que para isso é necessário que você tenha um subscription ativa no Azure, tanto para replicar este experimento no Azure Blob Storage e/ou um cluster do Hadoop. No meu caso vou usar um arquivo que subi em um contêiner do Azure Blob Storage, mas poderia ser em um cluster do Hadoop dentro do HDInsight que também funcionaria. Num próximo post, quando o tempo permitir, mostrarei funcionando também no HDInsight.

Pré Requisitos e Instalação

Para replicar estas técnicas no seu ambiente, é necessário que tenha baixado o SQL Server 2016 CTP 3 e também o Java Runtime 7. Um ponto importante durante a instalação é que isso que estou mostrando é público com o SQL Server 2016 CTP 3. Pode ser que na versão final do SQL Server 2016 isso seja diferente, mas até o lançamento, dá pra gente usar o recurso desta forma.

Durante a instalação é preciso que você garanta a seleção da instalação do PolyBase Query Services for External Data. Este recurso do SQL 2016 exige o Java Runtime 7 porque o motor do Hadoop roda em cima do Java. Caso você não tenha o Java instalado, ele vai pedir para você instalar e lhe dará um link para fazer o download. Baixe e conclua a instalação do Java antes de terminar a do SQL.

Depois de concluir a instalação, abra o SQL Server 2016 e vamos fazer a configuração do ambiente para permitir os acessos.

Configuração do ambiente

Depois de tudo instalado, é hora de configurar o ambiente para recuperar dados do Hadoop ou Azure Blob Storage e mostrar diretamente no seu SQL 2016. É necessário criar uma base de dados para armazenar a tabela externa que por sua vez receberá os dados. Fique à vontade para criar um banco vazio ou usar um já existente. No meu caso de exemplo, criei um chamado PolybaseAzure.

CREATE DATABASE PolybaseAzure
GO

USE PolybaseAzure
GO

 

Lembra que na instalação você marcou a caixa do Polybase? Então, é hora de habilitar este recurso no seu SQL 2016. Faça isso utilizando o comando T-SQL abaixo. Lembrando que o parametro 7 permite ler um arquivo do Azure Blob Storage e o parametro 6 é para ler do Hadoop (no nosso caso, como é no Azure então é diretamente do HDInsight).

exec sp_configure 'hadoop connectivity', 7
Reconfigure
Go

sp_configure
go

Confira se o recurso do Hadoop Connectivity está configurado com o parametro que quer ler (6 ou 7).

Reinicie o SQL Server 2016, e garanta que também reiniciaram os serviços SQL Server PolyBase Engine e SQL Server PolyBase Data Movement Service.

Configurando o Polybase

Depois da configuração macro no servidor, é preciso configurar o Polybase na base de dados para ler os dados externos. Vamos fazer isso agora.

Usaremos aquele banco de dados criado anteriormente para ter objetos que armazenarão as credenciais necessárias para se conectar ao Azure Blob Storage e recuperar os dados de lá. Neste banco de dados ficarão:

  • Chave de acesso ao seu Azure Blob Storage
  • Origem de dados Externa
  • Arquivo Externo

Garanta que está no banco correto, e então execute o código abaixo:

CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'coloque sua senha aqui'
go

Este código cria uma senha master no banco. Lembrando que esta senha master não é do database de sistema master, é para o banco de dados que você criou (ou está usando um já existente). Não esqueça de colocar uma senha neste código antes de executar.

Depois de criada a senha master, é preciso colocar a chave de autenticação do Storage do Azure, para poder acessar os dados dentro dele. Esta chave fica nas configurações do Blob Storage, acesse o seu portal, vá até o item Storage (Armazenamento) no menu da esquerda e procure o seu Storage. Ao acessar, vá até o painel e no meu inferior procure as chaves de acesso, copie a chave primária.

Com essa chave em mãos, substitua ela no código T-SQL abaixo e execute. Pode deixar o usuário que está como ‘user’ desta forma, não precisa mexer nisso.

CREATE DATABASE SCOPED CREDENTIAL AzureStorageCredential
WITH IDENTITY = 'user', 
SECRET = 'chave de segurança do Azure'
GO

Select * from sys.database_credentials
GO

Se a configuração funcionou corretamente, você terá um resultado como o abaixo:

O passo seguinte é criar uma origem de dados externa. Faça isso com o código abaixo.

Lembre-se de colocar o nome do container e do storage, sem os sinais de menor “<” e maior “>”. No meu exemplo, o storage tem o nome blognogareml e o contêiner é ssis. A construção do caminho ficou assim: wasbs://ssis@blognogareml.blob.core.windows.net

CREATE EXTERNAL DATA SOURCE AzureStorage
WITH (
TYPE = Hadoop,
LOCATION = 'wasbs://<nome do container>@<nome do storage>.blob.core.windows.net',
CREDENTIAL = AzureStorageCredential)
GO

select * from sys.external_data_sources
GO

Acompanhe no seu Object Explorer surgir um item dentro do banco de dados PolybaseAzure >> External Resources >> Data Sources. É a origem de dados externa que será consultada.

Da mesma forma que criou a origem de dados externa, vamos criar agora um apontamento para uma estruturação de arquivo. Ajuste o Field Terminator para o caracter que você usou pra separar os seus campos no arquivo que quer ler (neste caso é a tabulação). Execute o código abaixo:

CREATE EXTERNAL FILE FORMAT ArquivoPorTab
WITH (
FORMAT_TYPE = DelimitedText,
FORMAT_OPTIONS (FIELD_TERMINATOR = '\t'))
GO

select * from sys.external_file_formats
GO

Veja o resultado da execução da consulta na tabela de arquivos externos.

Mais uma vez acompanhe no Object Explorer o objeto que foi criado.

Acessando os dados externos

Para receber estes dados do Hadoop ou do Azure Blob Storage, é necessário criar uma tabela que faça a referência externa necessária. Complete o código abaixo com o seu caminho do arquivo do Blog Storage e execute. O que você precisa garantir é que o caminho do seu arquivo esteja no LOCATION, o nome da origem de dados externa que criamos a pouco esteja no DATA_SOURCE e o apontador pra estrutura do arquivo externo esteja no FILE_FORMAT.

CREATE EXTERNAL TABLE Municipios
(Ano varchar(5)
, ufid varchar(5)
, uf varchar(50)
, municipioid varchar(15)
, municipio varchar(200)
, regiaometropolitana varchar(200)
, mesorregiaoid varchar(15)
, mesorregiao varchar(200)
, microrregiaoid varchar(15)
, microrregiao varchar(200)
, valoragropecuaria varchar(20)
, valorindustria varchar(20)
, valorservicos varchar(20)
, valoradministracao varchar(20)
, valorimpostos varchar(20)
, pibcorrente varchar(20)
, populacao varchar(20)
, pibpercapita varchar(20))
WITH (
LOCATION='/dadosBrutos.csv',
DATA_SOURCE=AzureStorage,
FILE_FORMAT=ArquivoPorTab )
GO

Você pode verificar as duas estruturas de tipos de tabelas, tanto as internas quanto as externas, através dos códigos abaixo:

select * from sys.tables
select * from sys.external_tables

Lembre-se que a tabela externa gerencia a tabela interna. Ao criar uma tabela externa, ela também cria automaticamente a tabela interna. A exclusão da tabela externa também exclui a tabela interna. É importante lembrar disso para não ter surpresas em seus ambientes.

Se tudo foi configurado corretamente, ao executar o código abaixo você terá os dados no seu SQL Server 2016 vindo diretamente do Azure Blob Storage ou do Hadoop. Isso só dependerá das configurações que você fez.

SELECT top 10 *   FROM [PolybaseAzure].[dbo].[Municipios]

Veja o resultado.

Tendo acesso ao cluster Hadoop e ao Azure Blob Storage de dentro do SQL Server 2016 fica muito mais tranquilo para trabalharmos com Big Data em um ambiente próximo da nossa realidade diária. As consultas aqui serão feitas através de códigos T-SQL e não Hive-QL. Isso faz a nossa curva de aprendizado para trabalhar com Big Data bem menor, porque podemos evitar de usar outras linguagens para consultas simples de nossos dados externos.

Caso queira rodar o código inteiro, é este (você precisará ajustar algumas coisas com os seus dados de credenciais):

exec sp_configure 'hadoop connectivity', 7
Reconfigure
Go

sp_configure
go

/****************/
CREATE DATABASE PolybaseAzure
GO

USE PolybaseAzure
GO

/****************/
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'MinhaSenhaSegura@SQL2016&'
GO

CREATE DATABASE SCOPED CREDENTIAL AzureStorageCredential
WITH IDENTITY = 'user', 
SECRET = 'chave_do_storage_azure'
GO

SELECT * FROM sys.database_credentials
GO

/****************/
CREATE EXTERNAL DATA SOURCE AzureStorage
WITH (
TYPE = Hadoop,
LOCATION = 'wasbs://contêiner_do_azure@storage_do_azure.blob.core.windows.net',
CREDENTIAL = AzureStorageCredential)
GO

select * from sys.external_data_sources
GO

/****************/
CREATE EXTERNAL FILE FORMAT ArquivoPorTab
WITH (
FORMAT_TYPE = DelimitedText,
FORMAT_OPTIONS (FIELD_TERMINATOR = '\t'))
GO

select * from sys.external_file_formats
GO

/****************/
CREATE EXTERNAL TABLE Municipios
(Ano varchar(5)
, ufid varchar(5)
, uf varchar(50)
, municipioid varchar(15)
, municipio varchar(200)
, regiaometropolitana varchar(200)
, mesorregiaoid varchar(15)
, mesorregiao varchar(200)
, microrregiaoid varchar(15)
, microrregiao varchar(200)
, valoragropecuaria varchar(20)
, valorindustria varchar(20)
, valorservicos varchar(20)
, valoradministracao varchar(20)
, valorimpostos varchar(20)
, pibcorrente varchar(20)
, populacao varchar(20)
, pibpercapita varchar(20))
WITH (
LOCATION='/dadosBrutos.csv',
DATA_SOURCE=AzureStorage,
FILE_FORMAT=ArquivoPorTab )
GO

/****************/
select * from sys.tables
select * from sys.external_tables

/****************/
SELECT TOP 10 [Ano]
      ,[ufid]
      ,[uf]
      ,[municipioid]
      ,[municipio]
      ,[regiaometropolitana]
      ,[mesorregiaoid]
      ,[mesorregiao]
      ,[microrregiaoid]
      ,[microrregiao]
      ,[valoragropecuaria]
      ,[valorindustria]
      ,[valorservicos]
      ,[valoradministracao]
      ,[valorimpostos]
      ,[pibcorrente]
      ,[populacao]
      ,[pibpercapita]
  FROM [PolybaseAzure].[dbo].[Municipios]

Divirta-se com o SQL 2016 e as consultas externas J

Compartilhe o post:
RSS
Follow by Email
Facebook
YOUTUBE
YOUTUBE
LinkedIn

Comentários

comments

181 thoughts on “Lendo Azure Blob Storage através do SQL Server 2016 com T-SQL

  1. I want to show my appreciation to this writer just for rescuing me from such a setting. As a result of browsing through the world wide web and meeting techniques which were not productive, I thought my life was done. Being alive without the solutions to the problems you’ve fixed by means of your entire write-up is a serious case, and those which may have in a wrong way damaged my entire career if I had not come across your blog. Your understanding and kindness in handling every item was excellent. I don’t know what I would have done if I had not come across such a step like this. I can at this moment relish my future. Thanks so much for your professional and sensible help. I will not be reluctant to suggest your web page to any person who would like guidance about this situation.

  2. I truly wanted to type a small remark so as to say thanks to you for the great tricks you are showing on this website. My prolonged internet lookup has finally been paid with sensible facts and techniques to write about with my close friends. I would state that that most of us website visitors actually are undeniably fortunate to dwell in a useful place with so many marvellous individuals with valuable things. I feel very fortunate to have used your webpage and look forward to plenty of more enjoyable times reading here. Thanks once more for a lot of things.

  3. I am just commenting to make you be aware of what a useful encounter my child enjoyed using your web site. She picked up many details, which include what it’s like to possess an excellent teaching style to have men and women completely comprehend specified specialized subject matter. You truly surpassed our expectations. Thank you for coming up with those powerful, safe, revealing as well as easy tips about the topic to Evelyn.

  4. I not to mention my buddies were checking the excellent information found on your site and then quickly I had an awful suspicion I never expressed respect to the site owner for those strategies. The men appeared to be totally excited to read through them and have seriously been using them. Appreciate your really being very helpful as well as for pick out variety of incredibly good subject matter most people are really desirous to know about. My very own sincere apologies for not saying thanks to you sooner.

  5. YpxeEZ I truly appreciate this post. I have been looking all over for this! Thank goodness I found it on Bing. You have made my day! Thank you again

  6. this means up and down).|Our Instructors have been busy studying the AUSSIE TWERK way and becoming Aussie Twerk Certified Instructors….

  7. |Amongst spitting bars in her island accent, Nicki Minaj backs up her wagon on Busta Rhymes in his Twerk It” video.|Girls twerking turns me on as a lot

  8. Ihr Sexualleben wird nicht die gleiche sein – eine gro?e Auswahl an Frauen, Manner und Paare fallt, zwingt denken uber bisher unbekannte Aspekte des Geschlechts. «Banana.ua» entfallt die komplexe und Verlegenheit, so dass jederzeit ein Online-Formular zur Ausgabe, mit einem Hauch von Feuer und wurzigen Geschmack auf die enge Beziehung von jedem Paar hinzuzufugen. Hier wissen, wie selbst die anspruchsvollsten Geschmacker uberraschen !

  9. It’а†s really a cool and helpful piece of info. I am glad that you simply shared this useful information with us. Please keep us up to date like this. Thank you for sharing.

  10. Wow, incredible blog layout! How long have you been blogging for? you made blogging look easy. The overall look of your web site is magnificent, let alone the content!

  11. Gambling online can thought to be fun and exciting for you to entertain you and your family. How do you know which games to play and what type of fun you get a while each morning online gambling dens? This article will more than the differing kinds of games you come across at web casino and which ones you might wish to try your luck at.

    On the Online Casino Reviews sites entertainment and interaction is accompanied from the inspiration which comes only readily of hitting big fat jackpot. Anyone might have a replacement for pick some of the room where you can play your favourite games without any difficulty. You will get live chat host over the site basically help for this chat host you could your fun more unusual. You will also get yourself a big players community more than a site, which will help you to share your gaming experience on locations. You will go for inspiration on the old players of times.

    There is often a requirement to practice the game before you join actual truth is that money casino games online to a few fast financial resources. Most of the time, people ignore the chance to take part in free online casino games and they miss a legitimate chance for a perfect tradition. This often costs them high when tend to be to enjoy the Real Money Games. Starting your bingo tour with vehicles bingo sites can really help you good. Playing with the no deposit bingo sites can help you a lot, since you can practice this video game elegantly even at apartment. So, choose the most reliable site at the present!

    If you wish to win an online casino game online, you need to learn the rules and approaches for that game. You should check the previous record of this online casino for that you’ve got signed back up. Finally you have to take a look at the offered bonus products.

    It’s feasible for some people may be much better at playing casino other people. They may possibly practiced enough to be aware there are certain methods of play that not yield good improvements. This is a form of art that along with a playing the casino video clip games. The logical gets mixed up in the therapy lamp though. You will reason that any person features weathered the training curve and acquired skills would be equipped to win more often. That’s the malady. It still doesn’t happen that way.

    The websites will teach you about many tricks, techniques and different ways to play the overall game well. the way is mainly depended onto your will opportunity to actually quit the game when you can find a need for it. you will be sure on your private winning track if you’ll be able to plan definitely about easy methods to capitalize on bank come. Sometimes high odd slots can be very tempting, but to alter your design your discretion wisely and prevent taking the bait, you’ll be better off, as the most unlikely to win on those precarious slot games. you can also increase the possibilities of wining recreation by making bets like even/odd or red/black.

    Online casino games are an exclusive form of entertainment. Be there at the site perform and have a ball and for you to get frustrated with the loss of a game. Losing is role and parcel of all types of betting games. Online casino games aren’ exception. So accept a lot and maintain positivity. This way if at all possible find yourself pocketing more wins!
    https://casinoave.yapsody.com/event/index/98746/bingo-night

  12. Revolutional update of SEO/SMM software “XRumer 16.0 + XEvil”:
    captchas regignizing of Google, Facebook, Bing, Hotmail, SolveMedia, Yandex,
    and more than 8400 another types of captcha,
    with highest precision (80..100%) and highest speed (100 img per second).
    You can connect XEvil 3.0 to all most popular SEO/SMM software: XRumer, GSA SER, ZennoPoster, Srapebox, Senuke, and more than 100 of other software.

    Interested? You can find a lot of impessive videos about XEvil in YouTube.
    See you later!

    XRumer201707

  13. You have a number of truly of the essence in a row printed at this point. Excellent job and keep reorganization superb stuff.

  14. If you are free to watch comical videos on the internet then I suggest you to pay a quick visit this web site, it contains actually therefore humorous not only videos but also extra information.

  15. Valuable information and excellent design you got here! I would like to thank you for sharing your thoughts and time into the stuff you post!! Thumbs up!

  16. This blog is definitely interesting and also diverting. I have picked a bunch of useful tips out of this blog. I ad love to go back again and again. Thanks!

  17. Your style is so unique in comparison to other people I have read stuff from. Thanks for posting when you ave got the opportunity, Guess I will just bookmark this page.

  18. Revolutional update of SEO/SMM software “XRumer 16.0 + XEvil”:
    captcha solution of Google, Facebook, Bing, Hotmail, SolveMedia, Yandex,
    and more than 8400 another size-types of captchas,
    with highest precision (80..100%) and highest speed (100 img per second).
    You can connect XEvil 3.0 to all most popular SEO/SMM software: XRumer, GSA SER, ZennoPoster, Srapebox, Senuke, and more than 100 of other software.

    Interested? You can find a lot of demo videos about XEvil in YouTube.
    Good luck!

    XRumer201707

  19. Usually I do not learn post on blogs, but I would like to say that this write-up very forced me to check out and do it! Your writing style has been amazed me. Thanks, quite nice post.

  20. Wow, fantastic blog layout! How long have you been blogging for? you made running a blog glance easy. The total glance of your website is excellent, let alone the content material!

  21. Absolutely NEW update of SEO/SMM software “XRumer 16.0 + XEvil 3.0”:
    captchas solution of Google, Facebook, Bing, Hotmail, SolveMedia, Yandex,
    and more than 8400 another size-types of captchas,
    with highest precision (80..100%) and highest speed (100 img per second).
    You can connect XEvil 3.0 to all most popular SEO/SMM programms: XRumer, GSA SER, ZennoPoster, Srapebox, Senuke, and more than 100 of other software.

    Interested? There are a lot of introducing videos about XEvil in YouTube.
    See you later!

    XRumer20170717

  22. This very blog is without a doubt educating as well as informative. I have discovered helluva helpful stuff out of this amazing blog. I ad love to go back every once in a while. Cheers!

  23. Wow! This could be one particular of the most useful blogs We have ever arrive across on this subject. Actually Magnificent. I am also a specialist in this topic so I can understand your effort.

  24. IaаАа’б‚Т€ТšаЂаŒаАа’б‚Т€ТžаБТžve read some good stuff here. Certainly worth bookmarking for revisiting. I wonder how much effort you put to make such a fantastic informative web site.

  25. Wow, incredible weblog structure! How long have you been blogging for? you make running a blog look easy. The whole glance of your site is wonderful, let alone the content material!

  26. Spot on with this write-up, I actually believe this website needs much more attention. I all probably be back again to see more, thanks for the information!

  27. Revolutional update of SEO/SMM package “XRumer 16.0 + XEvil”:
    captchas regignizing of Google, Facebook, Bing, Hotmail, SolveMedia, Yandex,
    and more than 8400 another size-types of captchas,
    with highest precision (80..100%) and highest speed (100 img per second).
    You can connect XEvil 3.0 to all most popular SEO/SMM programms: XRumer, GSA SER, ZennoPoster, Srapebox, Senuke, and more than 100 of other programms.

    Interested? There are a lot of introducing videos about XEvil in YouTube.
    Good luck!

    XRumer20170718

  28. Absolutely NEW update of SEO/SMM software “XRumer 16.0 + XEvil”:
    captcha breaking of Google, Facebook, Bing, Hotmail, SolveMedia, Yandex,
    and more than 8400 another subtypes of captcha,
    with highest precision (80..100%) and highest speed (100 img per second).
    You can connect XEvil 3.0 to all most popular SEO/SMM software: XRumer, GSA SER, ZennoPoster, Srapebox, Senuke, and more than 100 of other software.

    Interested? There are a lot of impessive videos about XEvil in YouTube.
    Good luck!

    XRumer20170718

  29. You ave made some decent points there. I looked on the web for additional information about the issue and found most individuals will go along with your views on this web site.

  30. “Greetings! Very helpful advice within this post! It is the little changes which will make the greatest changes. Thanks for sharing!”

  31. A formidable share, I simply given this onto a colleague who was doing a little evaluation on this. And he in reality purchased me breakfast as a result of I discovered it for him.. smile. So let me reword that: Thnx for the deal with! But yeah Thnkx for spending the time to debate this, I feel strongly about it and love reading extra on this topic. If doable, as you become expertise, would you thoughts updating your weblog with extra details? It is extremely helpful for me. Massive thumb up for this blog publish!

  32. om vintage addage relatert ikke site en enkeltpersoner egg mens en gourmet gave kurver. For eksempel, hvis du person noe 23 periode gamle, en person kan krever kasteøkonomisk vinning i lager. Det muligens vil virke like en haugenstress på en eneste en person, bare å svært viktig investeringer innebærer en antalltvinge. Komplett en legg se på bestemt beliggenhet i egne boliger du sannsynligvis er vurderer gjøre en investering i.

    Det fremmer den bestemte noen vil trolig ta nytte de viktigste nåværende økonomiske klima når ha den bestemte høyre forslag på ofte høyre arbeid-tid. Tar de fleste priser lett inn på vurdering sikkert hjelp långivere huske det for å forvente når valgte hennes eller hans investeringer som være innsiden av en stillingunngå hus lån som personer føle er for risikabelt. For det første, når næringsdrivende ikke stedet vite faktisk der hvor å investere, de Etf gi diversifisering. Alle lager (eller egenkapital) fond tilgjengelig med hensyn til http://geld-machen.xenyoo.eu/erfolgreiche-forex-trader/ henne lengde fra alvorlige vekst pengerworld travel stock investering nedre stock midler unik stock penger.

    Nå, web – tilbud hver enkelt ting for noen og og samtidig ha en lett-å-følge forskning du kan start e-bok på nesten alle emnet. Lese denne om tre enkel tips international investere: Shop for en bestemt valuta medvind. Dette mer komfortabel enn nesten personer ta hensyn til. Veldig virkelige vis plass markedet kan ikke men lukrative som det bare en gang, var som alltid samtaler i en ulik strategi hvis du forsøker for du tjene flytende kontanter samtidig.

    Primær – 20% de fleste mange mennesker på jamming flere måter å investere vil få undervist i hvordan faktisk ikke enhet. Forståelse fordeler kan bidra personer velg om sammen med ikke eiendom investere vanligvis en suveren valget har dem. Så, alle få ned hvorforgi i inntekt bare ved å bruke fall jeg vil si den verste transpires i år eller neste år. Det långiver international og har faktisk operasjoner gjør Canada, Sluttet Usa, Mexico, Sverige sammen med Finland. Fleste av disse generelt retur en justert sats av returnerer og som a brand new resultat synes å være langt sikrere betale ut i.

    De fleste varianter synlig gull er / ende opp som enkel for å tillate dem til selge denne type bullion. Dette tatt i betraktning det faktum at du egentlig har folk portefølje der hvor å investere penger forholde ved hjelp av i stedet eksempel kanskje utallige aksjer. som Hver vår første scene du må hagjør ha en forståelse av trening investering kjøretøy og / – eller lære hvordan det arbeider ut. hele stock normalt også spioneringen på en bestemt Frankfurt Stash Exchange.

    koblet med flere antall når det gjelder sidene at du har som din utrolige søkeresultat, fokusere alltid første to sider, som de viktigste resultatene har lyst vokst til en liten skala villfarne men du går lenger. Vanligvis, du ofte forvente priser liker noe 0.4% du 0.5%. Videre om alle stock vil starte å dyppe ikke ikke selge i panikk, det vil kom tilbake opptil av en par dager; alle ikke aldri vil å sørge for at du løs økonomisk rikdom. Du include få at fordi det bedriften kostnader i bare noe fakta genuint går når du trenger til betale av-fra.

    Å gjøre så du har innså en heftig overskudd kjøp og utveksling flere husholdninger. I Forbundet med januar i 2006, jeg kjøpte 232 enhet vanskelige i Oklahoma City som 7 andre partnere. Noen ting de definitivt alltid virkelig trenger. Han var oppmuntret ved ganske enkelt hans pappalærer stock tilbud fra en betydelig tidlig dyrke.

  33. Incredibly helpful info especially the last aspect I care for such facts a great deal. I was looking for this particular info for a extended time. Thank you and very good luck.

  34. I simply needed to say thanks once again. I’m not certain the things that I might have gone through in the absence of these tips documented by you regarding such a question. It was before the daunting case for me, but observing this expert fashion you resolved it made me to jump with happiness. I will be happier for the help as well as trust you find out what an amazing job you happen to be providing teaching the rest using a web site. More than likely you’ve never encountered all of us.

  35. Im no pro, but I feel you just made an excellent point. You definitely know what youre talking about, and I can seriously get behind that. Thanks for being so upfront and so sincere.

  36. I think other website proprietors should take this website as an model, very clean and magnificent user friendly style and design, let alone the content. You are an expert in this topic!

  37. You can certainly see your enthusiasm within the paintings you write. The sector hopes for even more passionate writers like you who are not afraid to say how they believe. Always follow your heart.

  38. Wow, superb blog layout! How long have you been blogging for? you make blogging look easy. The overall look of your site is great, as well as the content!

  39. I think this is among the most significant info for me. And i am glad reading your article. But want to remark on some general things, The website style is perfect, the articles is really excellent : D. Good job, cheers

  40. Thanks for the concepts you are giving on this website. Another thing I’d prefer to say is that often getting hold of duplicates of your credit file in order to inspect accuracy of each and every detail would be the first activity you have to accomplish in fixing credit. You are looking to freshen your credit file from detrimental details problems that screw up your credit score.

  41. You made some decent points there. I looked on the net for more information about the issue and found most people will go along with your views on this website.

  42. Revolutional update of SEO/SMM software “XRumer 16.0 + XEvil 3.0”:
    captcha solution of Google, Facebook, Bing, Hotmail, SolveMedia, Yandex,
    and more than 8400 another subtypes of captchas,
    with highest precision (80..100%) and highest speed (100 img per second).
    You can connect XEvil 3.0 to all most popular SEO/SMM software: XRumer, GSA SER, ZennoPoster, Srapebox, Senuke, and more than 100 of other programms.

    Interested? There are a lot of demo videos about XEvil in YouTube.
    See you later!

    XRumer20170721

  43. Revolutional update of SEO/SMM software “XRumer 16.0 + XEvil 3.0”:
    captcha solution of Google, Facebook, Bing, Hotmail, SolveMedia, Yandex,
    and more than 8400 another size-types of captcha,
    with highest precision (80..100%) and highest speed (100 img per second).
    You can connect XEvil 3.0 to all most popular SEO/SMM programms: XRumer, GSA SER, ZennoPoster, Srapebox, Senuke, and more than 100 of other software.

    Interested? There are a lot of demo videos about XEvil in YouTube.
    See you later!

    XRumer20170721

  44. Revolutional update of SEO/SMM software “XRumer 16.0 + XEvil 3.0”:
    captcha recognition of Google, Facebook, Bing, Hotmail, SolveMedia, Yandex,
    and more than 8400 another types of captchas,
    with highest precision (80..100%) and highest speed (100 img per second).
    You can connect XEvil 3.0 to all most popular SEO/SMM software: XRumer, GSA SER, ZennoPoster, Srapebox, Senuke, and more than 100 of other programms.

    Interested? You can find a lot of demo videos about XEvil in YouTube.
    See you later!

    XRumer20170721

  45. Absolutely NEW update of SEO/SMM software “XRumer 16.0 + XEvil 3.0”:
    captcha solution of Google, Facebook, Bing, Hotmail, SolveMedia, Yandex,
    and more than 8400 another types of captcha,
    with highest precision (80..100%) and highest speed (100 img per second).
    You can connect XEvil 3.0 to all most popular SEO/SMM software: XRumer, GSA SER, ZennoPoster, Srapebox, Senuke, and more than 100 of other software.

    Interested? There are a lot of demo videos about XEvil in YouTube.
    See you later 😉

    XRumer20170721

  46. I enjoy you because of your whole hard work on this web site. Betty enjoys managing research and it’s really obvious why. A number of us know all relating to the lively medium you create sensible tips and tricks on your web blog and as well improve response from other ones on this article and our favorite girl is really starting to learn a whole lot. Enjoy the rest of the new year. You’re the one carrying out a very good job.

  47. Revolutional update of SEO/SMM software “XRumer 16.0 + XEvil”:
    captchas regignizing of Google, Facebook, Bing, Hotmail, SolveMedia, Yandex,
    and more than 8400 another size-types of captcha,
    with highest precision (80..100%) and highest speed (100 img per second).
    You can connect XEvil 3.0 to all most popular SEO/SMM programms: XRumer, GSA SER, ZennoPoster, Srapebox, Senuke, and more than 100 of other software.

    Interested? You can find a lot of impessive videos about XEvil in YouTube.
    Good luck 😉

    XRumer20170721

  48. excellent submit, very informative. I ponder why the opposite specialists of this sector do not understand this. You must proceed your writing. I am confident, you’ve a huge readers’ base already!

  49. The other day, while I was at work, my sister stole my iphone and tested to see if it can survive a 40 foot drop, just so she can be a youtube sensation. My iPad is now destroyed and she has 83 views. I know this is totally off topic but I had to share it with someone!

  50. [url=http://fr.aurora-hp.com/spurheel/]http://fr.aurora-hp.com/spurheel/[/url]
    [url=http://et.adanailkhaber.com/stress/]http://et.adanailkhaber.com/stress/[/url]
    [url=http://bg.buslik.net/legs/]http://bg.buslik.net/legs/[/url]
    [url=http://el.i-liaison.com/spurheel/]http://el.i-liaison.com/spurheel/[/url]
    [url=http://hr.aurora-hp.com/stress/]http://hr.aurora-hp.com/stress/[/url]

  51. Thanks a bunch for sharing this with all of us you actually know what you are talking about! Bookmarked. Kindly also visit my web site =). We could have a link exchange arrangement between us!

  52. I truly appreciate this post. I?аАТ’аЂа†ve been looking all over for this! Thank goodness I found it on Bing. You ave made my day! Thank you again

  53. Write My Essay – EssayErudite.com

    Fed up of typing “who can write my essay” in the search bar?
    Would you like to have a reliable helper always by your side?
    Our website will come as an excellent solution to write my essay

  54. Write My Paper – EssayErudite.com

    Looking for an expert to [b][url=https://essayerudite.com/write-my-paper/]write my paper[/url][/b] for you? You are at the right place.
    Providing superior writing service appears to be our main specialization and passion.
    Our website is the best destination for every English-speaking student who calls for assistance when handling his or her daily academic tasks.

  55. Normally I do not learn article on blogs, however I would like to say that this write-up very pressured me to try and do it! Your writing style has been surprised me. Thank you, quite nice post.

  56. Spot on with this write-up, I genuinely think this web-site requirements far more consideration. I all probably be once again to read a lot more, thanks for that information.

  57. Revolutional update of SEO/SMM package “XRumer 16.0 + XEvil”:
    captchas breaking of Google, Facebook, Bing, Hotmail, SolveMedia, Yandex,
    and more than 8400 another categories of captcha,
    with highest precision (80..100%) and highest speed (100 img per second).
    You can connect XEvil 3.0 to all most popular SEO/SMM software: XRumer, GSA SER, ZennoPoster, Srapebox, Senuke, and more than 100 of other programms.

    Interested? There are a lot of demo videos about XEvil in YouTube.
    See you later 😉

    XRumer20170725

  58. Best Essay Writing Service at EssayErudite.com

    Looking for the [url=https://essayerudite.com/best-essay-writing-service/]best essay writing service[/url] can turn into a pain in the neck especially if you are not an experienced essay buyer.
    EssayErudite.com is well known among students from the USA, UK, Canada and Australia.
    We provide a superior writing assistance and handle all types of academic papers ranging from dissertations and thesis statements to reviews and coursework.
    Whatever the challenge is, you can always count on us.

  59. Thanks for any other great article. Where else may anyone get that type of info in such a perfect manner of writing? I ave a presentation next week, and I am at the search for such info.

  60. Buy Essay – EssayErudite.com

    Where to Buy Essay Online ? Our experienced writers can boast higher degrees in addition to exceptional writing skills. You now have a great chance to [b][url=https://essayerudite.com/buy-essay/]buy essay[/url][/b] papers online with only a couple of clicks.

  61. This blog post is excellent, probably because of how well the subject was developped. I like some of the comments too though I would prefer we all stay on the suject in order add value to the subject!

  62. We Can Write Your Paper For You – EssayErudite.com

    Can You [url=https://essayerudite.com/write-essay-for-me/]Write My Essay for Me[/url] ? How many times do students worldwide ask this question without finding an answer?
    We’d rather not check the official statistics. At the same time, essays appear to be probably among the most popular academic assignments.
    Students from various education establishments need to complete them constantly. If you are among those lucky ones, feel free to contact our customer service department and opt for an essay writing help

Deixe uma resposta

O seu endereço de e-mail não será publicado.