Friday, 20 October 2017

Hive Data Typer Binære Alternativer


Apache Hive TM. Apache Hive datalagringsprogramvaren letter lesing, skriving og styring av store datasett som ligger i distribuert lagring ved hjelp av SQL Structure kan projiseres på data som allerede er lagret. En kommandolinjeverktøy og JDBC-driver er gitt for å koble brukere til Hive. Getting Startet med Apache Hive Software. Getting involvert med Apache Hive Community. Apache Hive er et åpen kildekode prosjekt som drives av frivillige på Apache Software Foundation. Tidligere var det et delprosjekt av Apache Hadoop, men har nå uteksaminert til å bli et toppnivå prosjekt av sin egen Vi oppfordrer deg til å lære om prosjektet og bidra med din kompetanse. Opphavsrett 2011-2014 Apache Software Foundation Lisensiert under Apache-lisensen, Versjon 2 0.Apache Hive, Hive, Apache, Apache fjærlogoen og Apache Hive-prosjektets logo er varemerker for The Apache Software Foundation Andre navn som vises på nettstedet, kan være varemerker for deres respektive eiere. Hive-til-Drill Data Type Mapping. I denne utgivelsen deaktiverer Drill DECIMAL datatypen, inkludert casting til DECIMAL og leser DECIMAL typer fra Parkett og Hive For å aktivere DECIMAL typen, sett alternativet til true. Unsupported Types. Drill støtter ikke følgende Hive-typer. Apache Hive-versjonen som brukes av Drill, støtter ikke Hive-tidsstempelet i Unix Epoch-format. Løsningen er å bruke JDBC-formatet for tidsstempelet, som Hive aksepterer og Drill bruker. Eksempel på type kartlegging viser hvordan du bruker løsningen som følger. Timestampverdien vises i eksemplet CSV-fil i JDBC-format 2015-03-25 01 23 15.Workaround Hive-tabellen definerer kolonne i i kommandoen CREATE EXTERNAL TABLE som en tidsstempel-kolonne. Drill-ekstraktfunksjonen verifiserer at Drill tolker tidsstempelet korrekt. Type-kartlegging Eksempel. Dette eksempelet viser kartlegging av Hive datatyper til Drill datatyper Ved å bruke en CSV som har følgende innhold, oppretter du et Hive-tabell med verdier av forskjellige støttede typer. Eksempel rikelig antagelser. Eksemplet gjør følgende forutsetninger. CSV ligger på følgende sted i Drill sandbox. Du aktiverte DECIMAL datatypen i Drill. Define en ekstern tabell i Hive. In Hive definerer du et eksternt bord ved hjelp av følgende spørring . I denne utgivelsen deaktiverer Drill DECIMAL datatypen, inkludert casting til DECIMAL og leser DECIMAL-typer fra Parkett og Hive. For å aktivere DECIMAL-typen, sett alternativet til true. You sjekke at Hive kartlagt dataene fra CSV til de angitte verdiene som som forventet. Koble Drill to Hive og Query Data. Drill 1 8 implementerer IF EXISTS-parameteren for DROP TABLE og DROP VIEW-kommandoene, og gjør IF et reservert ord i Drill. Som følge av dette må du inkludere backticks rundt Hive IF betinget funksjon når du bruker det i en spørring på Hive-tabeller Alternativt kan du bruke CASE-setningen i stedet for IF-funksjonen. I Drill bruker du Hive-lagringspluggen. Ved hjelp av Hive-lagringspluggen kobles Drill til Hive-metastoren som inneholder dataene. Dataene i Hive-tabellen viser de forventede verdiene. For å validere at Drill tolker tidsstempelet i kolonne jeg korrekt, bruker du ekstraktfunksjonen til å trekke ut en del av datoen. Opphavsrett 2012-2014 Apache Software Foundation, lisensiert under Apache-lisensen, Versjon 2 0 Apache og Apache fjær-logoen er varemerker for The Apache Software Foundation. Andre navn som vises på nettstedet, kan være varemerker for deres respektive eiere. Hent datatyper binær handel. En av de vanligste spørsmålene vi mottar er Vi anbefaler at du bruker 24option megler for den beste handelens gjennomføring i september 2016 Vi ved Top10Binary Signals opprettet et uavhengig system for å teste mange av signalleverandørene og som et resultat har vi kommet opp med en liste over de øverste resultatene. Det er viktig å huske at disse signalene vil utløpe etter en viss tidsperiode som du må være forberedt på i god tid Hive datatyper binær handel Nadex 60 Second Binær Alternativ Strategi Du går rett og slett til din binære alternativer trading konto og utfører handel Åpne en konto med The Binære signaler Fullfør betalingsinformasjonen din Men handel krever et nivå av erfaring, det er tidkrevende og kan være risikabelt Traders uten erfaring ca n forstår også de binære alternativsignalene siden de angir opp eller ned retning og kan enkelt kopieres. De leveres av profesjonelle handelsfolk som hjelper deg å velge når og hvordan du kan handle BestoCopys sosial handelsrobot er en nyskapende løsning som gjør binære alternativer tilgjengelig for handel til BestoCopy Social Trading omfattende data Hive datatyper binær handel Hvor mye penger India lånt fra Verdensbanken Hvordan bygge en EDW på egnet avhengig av søknad og kilde datatyper Binære data Selv om tekst er trolig den vanligste kildedataen Beste og verste av binære Alternativer 2015 binær handel er her for å bli Disse varierer fra 4 99 til 39 99 og dekker alle typer handelsstiler. The Hive Du går rett og slett til din binære opsjons handelskonto og utfører handel. Åpne en konto med de binære signaler. Fullfør betalingsinformasjonen din Binær Alternativsignaler blir stadig mer populære på grunn av den høye fortjenesten som handelsmenn kan tjene hvis de bruker nøyaktig signal s. Hive datatyper binær handel 500 Plus Web Trader Iron Forex Hvordan bygge en EDW på egnet, avhengig av applikasjon og kilde datatyper Binære data Selv om tekst er trolig den vanligste kildedataene Binær Options Trading Binær opsjonssignaler Det er viktig for alternativer og signaler som skal klassifiseres og kategoriseres i tråd med de ulike aktivatypene. Pengalaman Main Forex Mudah Du går rett og slett til din binære opsjonshandelskonto og utfører handel. Åpne en konto med de binære signaler. Fullfør betalingsinformasjonen dine. Binære alternativer Signaler er varselvarsler for råvare-, valuta - eller aksjemarkeder Dette er det hemmelige økonomiske våpenet profesjonelle handelsfolk, jeg liker ikke å dele Hive-datatyper binær handel. Binary Option Micro Account For Dummies Signalene er sanntids og kan leveres via e-post, SMS eller via en nettside Hive datatyper binær handel Binary Options Trading Vi søkte fakultet databasen av University of Chicago og Chicago en binær opsjon ons scam review nettsted har vist at Dr. Binær Options Trading er den mest lønnsomme metoden for å handle globalt på markeder i dag. Hive datatyper binær handel Metroid Prime 2 Gcm Forex Java Forex Valutakurser i dag i Sentral-Afrika. Postnavigasjon. Recent Posts. Original text. Data Typer for Hadoop. Hive er et datalager som leverer metadata om data som er lagret i Hadoop-filer. Hive inneholder en datalogg og et tilhørende SQL-lignende grensesnitt som heter HiveQL eller Hive SQL HiveQL implementerer data definisjonsspråk DDL og data manipulasjonsspråk DML-setninger som ligner mange relasjonsdatabasebehandlingssystemer Hive-tabeller er definert med en CREATE TABLE-setning, slik at hver kolonne i et bord har et navn og en datatype Datatypen angir formatet der dataene er lagret. Hive avslører data som er lagret i HDFS og andre filsystemer gjennom datatyper som er beskrevet i denne delen. Disse er aksepterte kolonne typer i en Hive CREATE TABLE sta tement Denne delen inneholder informasjon om Hive datatyper og datakonvertering mellom Hive og SAS. For mer informasjon om Hive, Hadoop og datatyper, se disse online dokumentene på. Hive Komme i gang. Hent språk Manual. Hive Språk Manual UDF. Simple Hive Datatyper. Angir et tegn med variabel lengde karakter. Maksimal lengde er 2 gigabyte. Angir et signert enbyte-heltal. Angir et signert tobyte-heltal. Angir et signert firebyte-heltal. Angir et signert åtte-byte-tall. signert firebyte, flytende punktnummer. spesifiserer et signert åtte-byte, flytende punktnummer. angir en tekstlig sann eller falsk valueplex Hive Data Types. specifies en rekke integerindeksible lists. specifies et tilknyttet array fra strenger til strengnøkkel - value pairs. specifies hvordan du får tilgang til elementer innenfor typen, nemlig ved å bruke punktnotering. Hvile dato, klokkeslett og tidsstempeldata. Hiv definerer ikke datatyper for datoer, klokkeslett eller tidsstempler. Ifølge konvensjon er disse typiske y lagret i ANSI-format i Hive STRING-kolonner For eksempel lagres den siste dagen i dette årtusen som streng 2999-12-31 SAS ACCESS antar ANSI-format for datoer, tider og tidsstempler som er lagret i Hadoop Derfor, hvis du bruker DBSASTYPE-alternativet for å indikere at en Hive STRING-kolonne inneholder en dato, forventer SAS ACCESS en ANSI-dato som den konverterer til SAS-datoformat. For utdata konverteres SAS DATE, TIME og DATETIME-formater til ANSI-format og lagres i Hive STRING-kolonner. SAS ACCESS støtter for øyeblikket ikke konverteringen av Hadoop binære UNIX tidsstempler til SAS DATETIME format. SAS Datatyper. SAS har to grunnleggende datatyper, tegn og numeriske SAS-karaktervariabler. Kolonnene har en fast lengde på maksimalt 32.767 tegn. SAS numeriske variabler er signert åtte-byte, flytende punktnumre Når SAS-numerikk brukes i forbindelse med SAS-formater, kan de representere en rekke datatyper, inkludert DATE, TIME og DATETIME For mer detaljert informat ion om SAS datatyper, se SAS Language Reference Concepts. Datakonvertering fra Hive til SAS. Denne tabellen viser standard SAS-formater som er tildelt SAS-variabler som er opprettet når SAS ACCESS leser Hive-tabellkolonner. Hent til SAS Standard SAS-formater for Hive Data Types. Hive STRING kolonner som inneholder ANSI dato, klokkeslett eller tidsstempel verdier ikke automatisk omregnet til SAS DATE, TIME eller DATETIME types. STRING Avhengig av lengden på Hadoop STRING data, kan SAS karakter 32767 format være unødvendig stor for korte STRING-kolonner eller kan avkorte Hadoop STRING-kolonner som inneholder mer enn 32767 tegn. BIGINT Konvertering Hadoop BIGINT til en SAS-tallrike kan føre til tap av presisjon fordi det interne SAS åtte-byte flytende punktformatet nøyaktig opprettholder kun 15 siffer presisjon En BIGINT beholder opptil 19.Work-arounds er basert på hvordan du får tilgang til data. SAS Tabell Egenskaper for Hive og Hadoop. Although HiveQL leverer kritiske metadata for Ha Dopfiler, i noen tilfeller er flere metadata fordelaktige HiveQL CREATE TABLE og ALTER TABLE-setninger gir en utvidbar funksjon som kalles tabellegenskaper. For mer informasjon, se Hive Language Manual på SAS ACCESS bruker tabellegenskaper for å beskrive og tolke innholdet i Hive STRING kolonne. Her er et eksempel på et nytt Hive-bord som er opprettet med SAS ACCESS En SAS-variabelkolonne har et tilhørende SAS DATETIME-format, slik at SAS ACCESS oppretter en DATETIME-tabellegenskap for Hive-kolonnen. Denne koden oppretter et nytt Hive-bord, DATETIMETABLEPROPERTYSAMPLE ved å generere denne HiveQL. SAS-butikkene dtstamp som en Hive ANSI STRING, som i dette eksempelet. Basert på SAS DATETIME25 6-format genererer SAS ACCESS også Hive-tabellegenskapen som beskriver STRING kolonne dtstamp som DATETIME 25 6. Når SAS ACCESS leser dette Hive-tabellen viser SASFMT-tabellegenskapen STRING kolonne dtstamp inneholder en ANSI tidsstempel SAS ACCESS konverterer automatisk og formaterer den en SAS DATETIME25 6 variabel, som i dette eksemplet. Når SAS ACCESS oppretter et nytt Hive-bord, genererer det tabellegenskaper for SAS-variabler med tegn, dato, datetime og tidsformater som alle produserer Hive STRING-kolonner. Se de genererte tabellegenskapene i Datakonvertering fra SAS til Hive. Data Konvertering fra SAS til Hive. Dette tabellen viser Hive datatyper og tabell egenskaper som er tildelt når SAS ACCESS oppretter et Hive table. SAS setter bare tabellegenskaper når du oppretter et nytt Hive-bord Det oppretter ikke eller endrer tabell egenskaper når du legger til en eksisterende Hive-tabell. Hvordan datatyper og tabellegenskaper som er opprettet for SAS datatype og formateringskombinasjoner. Egenskaper for tabelloppdateringer for eksisterende Hive Tables. SAS ACCESS genererer kun SAS-tabellegenskaper når du oppretter et nytt Hive-bord Mange eller kanskje alle dine Hive-tabeller er opprettet på andre måter. Hadoop-administratoren kan for eksempel opprette Hive-tabelldefinisjoner ved å sende DDL-skript til Hive CLI SAS og SAS oss kan fordelene ved å legge til SAS-tabellegenskaper til eksisterende Hive-tabelldefinisjoner Her er et eksempel hvor et Hive-bord allerede er definert. Basert på denne tabelldefinisjonen, her er hvordan SAS tolker kolonnene. Notat som Hive beskriver utdragsdata-kolonnen til SAS som en 32767 lengde STRING Den beskriver også webdata kolonnen som en 32767 lengde STRING Så SAS ACCESS går inn i begge disse kolonnene som tegndata og bruker 32767 for å formatere dem Resultatet er et altfor bredt SAS datasett med en observasjonsradningsbredde på 64 kilobytes som også ikke formaterer ekstraktdata til en SAS DATE. SAS utsteder en advarselsmelding for denne situasjonen, som inkluderer maksimal kolonnelengde som var i resultatsettet. I eksempelet er maksimumslengden som er lest for STRING-kolonnen for ekstraktdatoen, 10 byte. Maksimum lengden lest for webdata STRING-kolonnen var 320 byte. ADVARSEL SAS ACCESS tilordnet disse kolonnene en lengde på 32767 Hvis SAS-karaktervariablene forblir denne lengden, er SAS-ytelsen jeg mpacted Se SAS ACCESS dokumentasjon for detaljer. Kolonner etterfulgt av maksimal lengde observert var ekstraktdata 10, webdata 320. Eksempelet nedenfor antar at lengden på webdata STRING i Hive aldri overskrider 1000 tegn. En Hadoop bruker ID med den aktuelle myndigheten kan utstede Hive ALTER TABLE-setninger for å legge til SAS-tabellegenskaper til Hive-tabelldefinisjonen. AS ACCESS erkjenner de ekstra egenskapene, og her er resultatet. Det resulterende SAS-datasettet som er opprettet fra Hive-tabellen, har en mye mindre observasjonsbredde, som hjelper SAS spare disk plass og redusere CPU-forbruk. Det konverterer også automatisk og formaterer utdata til SAS-standard DATE9-format. Å legge til SAS-egenskaper til eksisterende Hive-tabeller påvirker ikke tabellen bruk av programvare som ikke er SAS Du kan også utstede ALTER TABLE og andre DDL-setninger ved hjelp av SAS ACCESS eksplisitt SQL Se SQL Pass-Through Facility Spesifikasjoner for Hadoop Utstedelse av slik DDL som en ALTER TABLE-setning kan begrenses til bare Hadoop administrator. Address-problemer når du konverterer data fra Hive til SAS med Table Properties. Some problemer eksisterer for øyeblikket når du leser Hadoop-data i SAS. Se problemer når du konverterer data fra Hive til SAS. For eksempel, Hive STRING-kolonner som standard til 32767 SAS-tegnformatet uten en definert SASFMT-tabellegenskap eller et SAS-overstyringsalternativ, for eksempel DBSASTYPE. Here er hvordan du kan adressere bestemte konverteringsproblemer. Å konvertere automatisk Hive STRING-kolonner som inneholder ANSI-dato, tidsstempel eller tidsverdier til egnede SAS-formater, kan du bruke følgende ALTER-tabell uttalelser I uttalelsene er disse eksemplene Hive-kolonnene d inneholder ANSI-dato, ts inneholder ANSI tidsstempel, og t inneholder ANSI-tid. I stedet kan du bruke disse setningene til å skape SAS karaktervariabler med optimal lengde som inneholder identisk ANSI-representasjon som de som er lagret i Hive. You kan bruke følgende setning for andre Hive STRING kolonner hvor maksimal lengde er mindre enn 32767 her Ringcol-kolonnen har en maksimumslengde på 100. Men hvis du forventer at strengcol-kolonnen i Hive kan vokse til en maksimal lengde på 200 i fremtiden, kan du i stedet bruke denne setningen til å sette tabellegenskapen. Hent STRING-kolonner lenger enn 32767 tegn blir avkortet når de leses inn i SAS Slik er advarselen for dette datatapet flagget i SAS loggen. Konvertering av en Hadoop BIGINT-kolonne til en SAS-numerisk kolonne kan føre til tap av presisjon. En SAS-tallerken kan nøyaktig bevare bare 15 siffer av presisjon, mens en BIGINT-kolonne kan bevare opptil 19 signifikante siffer av presisjon Du kan løse dette problemet ved å bruke et CHAR 19-tabellformatformat SAS leser deretter automatisk en Hive BIGINT-kolonne i en SAS-tegnstreng med 19 format, som bevarer alle BIGINT-tall i tegnformat Her er et eksempel ved hjelp av bgint BIGINT-kolonnen. Ta hensyn til dette viktige hensynet, men for Hive-tabeller som SAS ACCESS skaper, trenger du kanskje ikke å utstede ALTER TABLE-setninger Se datakonvertering fra SAS til Hive for tabellegenskaper som SAS ACCESS genererer automatisk når den oppretter en Hive-tabell. Ikke opprett flere tabellegenskaper for en enkelt Hive-kolonne. Uforutsigbar datakonvertering kan resultere. Alternativer for tabellegenskaper for problemer med datakonvertering fra Hive til SAS. Av ulike årsaker kan det være upraktisk eller uønsket å utstede ALTER TABLE-setninger for å skape SAS-tabellegenskaper. I slike tilfeller kan du i stedet bruke disse datasettalternativene. Bruk DBSASTYPE i SAS-koden din til å forårsake data konvertering fra Hive til SAS som er identisk med automatisk konvertering med tabellegenskaper Parene nedenfor er SAS DATA-trinn med identisk oppførsel. Den første av hvert par bruker en SASFMT-tabellegenskap, den andre bruker ingen tabellegenskaper, og DBSASTYPE er lagt til for å oppnå samme funksjonalitet For detaljer, se DBSASTYPE datasettalternativet Her er SAS LIBNAME-setningen for alle disse SAS DATA-trinnene. Hvis du kan bruke verken tabellegenskaper eller DBSASTYPE for å redusere standard 32767 SAS karakterlengde for Hive STRING-kolonner, bør du vurdere å bruke dette datasettalternativet Selv om SAS-tegnvariabler fortsatt bruker 32767-formatet, ved å bruke SAS datasettkomprimering, kan du realisere betydelige besparelser når det gjelder diskplass og CPU-forbruk Her er et eksempel. Bruk COMPRESS JA til SAS-datasettreferansen, ikke til Hadoop-tabellreferansen. Vurder også å bruke denne verdien, selv om du reduserer standard SAS-tegn 32767 lengder med tabellegenskaper eller DBSASTYPE, men også når mange strenger i Hadoop-dataene er mye mindre enn den reduserte SAS-karaktervariabellengden. For eksempel kan du bruke COMPRESS JA hvis du hadde tabellegenskapen vist nedenfor, men de fleste verdier av adresse1 er mindre enn 100 tegn. For mer informasjon om dette datasettalternativet, se SAS-datasettalternativer Referanse. Addressproblemer Når du konverterer data fra Hive til SAS for gjennomgående SQL. Hver av tabellegenskapene eller DBSASTYPE addre ss data konvertering problemer fra Hive til SAS hvis du bruker pass-through SQL for å lese Hive data For pass-through SQL, kan det hende du må eksplisitt konvertere og formatere hver Hive kolonne som du vil at den skal være representert i SAS Du kan se dette hvis du bruker SAS til å lage et bord med SAS-tabellegenskaper som er generert for alle, men BIGINT-kolonnen. Her er tabellen som SAS oppretter. SAS utsteder denne HiveQL når du oppretter tabellen. Nesten blir en ALTER TABLE-setning utstedt for å legge til en tabellegenskap for BIGINT-kolonnen bgint. A LIBNAME-basert tabell som leses til SAS, hylder tabellegenskapene. Dette gjennomgåtte SQL-trinnet konverterer og formaterer hver kolonne identisk med LIBNAME-baserte trinnet som benyttet tabellegenskapene. Hadeoop Null Values. Hadoop har en spesiell verdi kalt NULL En Hadoop NULL-verdi betyr et fravær av informasjon og er analog med en SAS-manglende verdi Når SAS ACCESS leser en Hadoop NULL-verdi, tolker den den som en SAS-manglende verdi. For mer informasjon om hvordan SAS håndterer NULL-verdi s, se potensielle resultatinnstilte forskjeller når du behandler nulldata. Copyright SAS Institute Inc Alle rettigheter reservert. Datatyper for Hadoop. Hive er et datalager som leverer metadata om data som er lagret i Hadoop-filer. Hive inneholder en datalogg og en tilhørende SQL - likt grensesnitt som heter HiveQL eller Hive SQL HiveQL implementerer datadefinisjonsspråk DDL og data manipulasjonsspråk DML-setninger som ligner på mange DBMSer. Hive-tabeller er definert med en CREATE TABLE-setning, slik at hver kolonne i et bord har et navn og en datatype. Dette avsnittet inneholder informasjon om Hive datatyper og datakonvertering mellom Hive og SAS. For mer informasjon om Hive, Hadoop og datatyper, se disse online dokumentene at. Hive Getting Started. Hive Language Manual. Hive Plug-in Interfaces Brukerdefinerte funksjoner og SerDes. Supported Hive Data Types. Here er Hive datatyper som Hadoop motoren støtter. Notat Når du utfører beregninger på numeriske verdier og når du lagrer numerisk va lues, SAS opprettholder opptil 15 siffer med presisjon Når du leser verdier som inneholder mer enn 15 desimaler med presisjon fra en database til SAS, avrundes de verdiene som SAS leser for å oppfylle denne tilstanden. Når du bruker en stor numerisk verdi i en WHERE klausul, kan denne avrundingen føre til uventede resultater, for eksempel ikke å velge ønskede rader. For ikke-beregningsmessige formål, for eksempel lagring av ID-verdier eller kredittkortnumre, kan du lese dataene som tegndata. For mer informasjon, se Dine valg når du velger graden av Nøyaktighet som du trenger. Date og tid data. Note I den tredje vedlikeholdsløsningen for SAS 9 4 ble støtte for BINARY og DECIMAL datatyper lagt til. SAS-problemer CREATE TABLE-syntaks ved hjelp av VARCHAR i stedet for STRING CHAR støttes i Hive 13 og høyere. Prior til Hive 12, datoer, tider og tidsstempler lagres vanligvis i Hive STRING-kolonner i ANSI-format. For eksempel blir den siste dagen i dette årtusen lagret som streng 2999-12-31 For Hive-utgivelser før t o Hive 12, SAS kolonner som er formatert som DATE, TIME eller DATETIME, lagres i Hive STRING kolonner. Med Hive 12 og den andre vedlikeholdsløsningen av SAS 9 4 støtter SAS ACCESS dataene Hive DATE og TIMESTAMP. Med Hive 12 og senere genererer SAS ACCESS utdata for Hive DATE og TIMESTAMP datatyper for SAS dato og SAS datetime formaterte kolonner. Som best praksis, bruk dataene Hive DATE og TIMESTAMP og ikke STRING datatypen. Hive støtter ennå ikke TIME data type SAS TID-datatyper lagres i Hive som STRING datatyper. SAS Datatyper. SAS har to grunnleggende datatyper, tegn og numeriske SAS-tegnvariabler. Kolonner har en fast lengde på maksimalt 32.767 tegn. SAS numeriske variabler er signert åtte - byte, flytende punktnumre Når SAS-numerikk brukes i forbindelse med SAS-formater, kan de representere en rekke datatyper, inkludert DATE, TIME og DATETIME. For mer detaljert informasjon om SAS datatyper, se SAS Language Refere nce Concepts. Data Konvertering fra Hive til SAS. Denne tabellen viser standard SAS-formater som er tildelt SAS-variabler som er opprettet når SAS ACCESS leser Hive-tabellkolonner. Notat I den tredje vedlikeholdsløsningen for SAS 9 4, støttes BINARY og DECIMAL Datatyper ble lagt til. Hent til SAS Standard SAS-formater for Hive-datatyper. Løsning New Hive 12 Datatyper. Dette kapitlet gir overveielser for å dele data mellom Hive og SAS. For eksempel må du vite hvordan du identifiserer Hive STRING-kolonnene som inneholder DATO, TID eller TIMESTAMP-informasjon Du må også vite hvordan du minimerer lengden på SAS-tegnkolonner som er opprettet fra Hive STRING-kolonner. Der du bruker VARCHAR-, DATE - og TIMESTAMP-datatyper som er tilgjengelige i Hive 12 og senere, optimalisere delingsdata mellom Hive og SAS For eksempel er SASFMT-tabellegenskapene som er beskrevet senere ikke nødvendig for Hive-kolonner som er erklært VARCHAR, DATE og TIMESTAMP. Information i resten av dette kapittelet som gjelder BIGINT og TIME-verdier, forblir relevant uavhengig av om du bruker Hive 12 og later. Highlighting Støtte for Hive 13 Datatyper. Merknad I den tredje vedlikeholdsløsningen for SAS 9 4 ble det markert støtte for BINARY og DECIMAL Hive datatyperne Når du angir et SAS-format for en DECIMAL datatype med spesifisert presisjon og skala, spesifiserer wd format w bredden på variabelen, inkludert desimaldelen, eventuelt desimaltegnet, og et potensielt negativt tegn. For eksempel gitt en kolonne av typen DECIMAL 10,0 formatet er 11 Gitt en kolonne av typen DECIMAL 18,2 formatet er 20 2.Issues Når du konverterer data fra Hive til SAS. Deretter er det noen potensielle konverteringsproblemer. Hent STRING kolonner som inneholder ANSI-dato , tids - eller tidsstempelverdier konverteres ikke automatisk til SAS DATE, TIME eller DATETIME types. STRING Avhengig av lengden på Hadoop STRING-data, kan SAS-karakter 32767-formatet være unødvendig stort for kort STRIN G-kolonner eller kan avkorte Hadoop STRING-kolonner som inneholder mer enn 32767 tegn For å angi en grense for en individuell STRING-kolonne, utsted en Hive ALTER TABLE-setning som begrenser kolonnelengden. Her er et eksempel ALTER TABLE-weblogger. SET TBLPROPERTIES SASFMT webdata CHAR 1000 For å spesifisere en generell grense for flere STRING-kolonner, bruk DBMAXTEXT-alternativet. BIGINT Konvertering Hadoop BIGINT til en SAS-tallrike kan føre til tap av presisjon fordi det interne SAS åtte-byte flytpunktformatet nøyaktig opprettholder kun 15 siffer med presisjon. A BIGINT beholder opp til 19.Work-arounds er basert på hvordan du får tilgang til data. SAT-tabellegenskaper for Hive og Hadoop. Selv om HiveQL leverer kritiske metadata for Hadoop-filer, er det i noen tilfeller flere metadata som er gunstige. HiveQL CREATE TABLE og ALTER TABLE-setningene gir en utvidbar funksjon kalt tabellegenskaper For mer informasjon, se Hive Language Manual på SAS ACCESS bruker tabellegenskaper for å beskrive og tolke t han har innhold i Hive STRING kolonner. Her er et eksempel på et nytt Hive-bord som er opprettet med SAS ACCESS En SAS-variabelkolonne har et tilhørende SAS DATETIME-format, slik at SAS ACCESS oppretter en DATETIME-tabellegenskap for Hive-kolonnen. Denne koden skaper en nytt Hive-tabell, DATETIMETABLEPROPERTYSAMPLE, ved å generere denne HiveQL. SAS-butikkene dtstamp som en Hive ANSI STRING, som i dette eksempelet. Basert på SAS DATETIME25 6-format genererer SAS ACCESS også Hive-tabellegenskapen som beskriver STRING kolonne dtstamp som DATETIME 25 6.Når SAS ACCESS leser dette Hive-tabellen, angir SASFMT-tabellegenskapen STRING kolonne dtstamp inneholder en ANSI tidsstempel SAS ACCESS konverterer automatisk og formaterer den en SAS DATETIME25 6-variabel, som i dette eksemplet. Når SAS ACCESS oppretter et nytt Hive-bord, genererer det Tabellegenskaper for SAS-variabler med tegn-, dato-, datetime - og tidsformater som alle produserer Hive STRING-kolonner Se de genererte tabellegenskapene i Datakonvertering fra SAS til Hive . Datakonvertering fra SAS til Hive. Denne tabellen viser Hive datatyper og tabellegenskaper som tilordnes når SAS ACCESS oppretter en Hive-tabell. SETTER bare tabellegenskaper når du oppretter et nytt Hive-tabell. Det oppretter ikke eller endrer tabellegenskaper når du legger til til et eksisterende Hive-tabellen. Datatyper og tabellegenskaper som er opprettet for SAS datatype og formatkombinasjoner. Egenskaper for eksisterende tabeller. SEG-ACCESS genererer SAS-tabellegenskaper bare når du oppretter et nytt Hive-bord Mange eller kanskje alle dine Hive-tabeller opprettes på andre måter. Hadoop-administratoren kan for eksempel opprette Hive-tabelldefinisjoner ved å sende DDL-skript til Hive CLI SAS, og SAS-brukere kan ha fordel ved å legge til SAS-tabellegenskaper til eksisterende Hive-tabelldefinisjoner. I dette eksemplet har et Hive-bord allerede definert. Basert på denne tabelldefinisjonen, her er hvordan SAS tolker kolonnene. Notat at Hive beskriver ekstraktdatakolonnen til SAS som en 32767 lengde STRING Det beskriver også webdata kolonnen som en 32767 lengde STRING Så SAS ACCESS går inn i begge disse kolonnene som tegndata og bruker 32767 for å formatere dem. Resultatet er et altfor bredt SAS datasett med en observasjonsradningsbredde på 64 kilobytes som ikke heller format ekstraktdata til en SAS DATE. SAS utsteder en advarselmelding for denne situasjonen, som inkluderer maksimal kolonnelengde som var i resultatsettet. I eksemplet er den maksimale lengden som leses for STRING-kolonnen for ekstraktdatoen 10 byte. Maksimal lengde leses for STRING-kolonne for nettdata var 320 byte. ADVARSEL SAS ACCESS tilordnet disse kolonnene en lengde på 32767 Hvis SAS-karaktervariablene forblir denne lengden, påvirkes SAS-ytelsen. Se SAS ACCESS-dokumentasjon for detaljer. Kolonner etterfulgt av maksimal lengde observert var ekstraktdata 10, webdata 320 . Eksempelet nedenfor forutsetter at lengden på webdata STRING i Hive aldri overskrider 1000 tegn. En Hadoop-bruker-ID med den aktuelle myndigheten kan utgjøre Hive ALTER TABLE-setninger for å legge til SAS-tabellegenskaper til Hive-tabelldefinisjonen. AS ACCESS erkjenner de ekstra egenskapene, og her er resultatet. Det resulterende SAS-datasettet som er opprettet fra Hive-tabellen, har en mye mindre observasjonsbredde, noe som hjelper SAS lagre diskplass og redusere CPU-forbruk. Den konverterer også automatisk og formaterer utdata til SAS-standard DATE9-format. Å legge til SAS-egenskaper til eksisterende Hive-tabeller påvirker ikke tabellbruk av programvare som ikke er SAS Du kan også utstede ALTER TABLE og andre DDL-setninger ved hjelp av SAS ADGANG eksplisitt SQL Se SQL Pass-Through Facility Spesifikasjoner for Hadoop Utstedelse av slik DDL som en ALTER TABLE-setning kan begrenses til bare Hadoop administrator. Address problemer når du konverterer data fra Hive til SAS med Table Properties. Some problemer eksisterer for øyeblikket når du leser Hadoop data til SAS Se problemer når du konverterer data fra Hive til SAS For eksempel Hive STRING kolonner som standard til 32767 SAS karakterformat uten en definisjon ed SASFMT-tabellegenskap eller et SAS-overstyringsalternativ som DBSASTYPE. Here er hvordan du kan adressere bestemte konverteringsproblemer. Å konvertere automatisk Hive STRING-kolonner som inneholder ANSI-dato, tidsstempel eller tidsverdier til egnede SAS-formater, kan du bruke følgende HiveQL ALTER TABLE-setninger I uttalelsene er disse eksemplene Hive-kolonnene d inneholder ANSI-dato, ts inneholder ANSI-tidsstempel, og t inneholder ANSI-tid. Merk. Husk at du ikke kan kjøre ALTER TABLE-kommandoer i SAS fordi de ikke er SAS-syntaks. Du må utføre disse kommandoer i Hive. I stedet kan du bruke disse setningene til å skape SAS karaktervariabler med optimal lengde som inneholder den samme ANSI-representasjonen som de som er lagret i Hive. Du kan bruke følgende setning for andre Hive STRING-kolonner der maksimal lengde er mindre enn 32767 Her har strengkol-kolonnen en maksimal lengde på 100. Men hvis du forventer at kolonnen Hive stringcol kan vokse til en maksimal lengde på 200 i fremtiden, kan du i stedet bruke denne setningen til å angi tabellegenskapen. Hve STRING-kolonner som er lengre enn 32767 tegn, avkortes når de leses i SAS Slik er advarselen for dette datatapet flagget i SAS loggen. Konvertere en Hadoop BIGINT kolonne til en SAS-numerisk kolonne kan føre til tap av presisjon En SAS-tallkolonne kan nøyaktig bevare kun 15 siffer med presisjon. En BIGINT-kolonne kan imidlertid bevare opptil 19 signifikante siffer av presisjon, pluss ett tegn for det mulige skiltet. Du kan adressere this issue by applying a CHAR 20 table property format SAS then automatically reads a Hive BIGINT column into a SAS character string with 20 format This format preserves all BIGINT digits in character format Here is an example, using the bgint BIGINT column. Keep this important consideration in mind, however For Hive tables that SAS ACCESS creates, you might not need to issue ALTER TABLE statements See Data Conversion from SAS to Hive for table properties that S AS ACCESS automatically generates when it creates a Hive table. Do not create multiple table properties for a single Hive column Unpredictable data conversion can result. Alternatives to Table Properties for Issues with Data Conversion from Hive to SAS. For various reasons, it might be impractical or undesirable to issue ALTER TABLE statements to create SAS table properties In such cases, you can instead use these data set options. Use DBSASTYPE in your SAS code to cause data conversion from Hive to SAS that is identical to automatic conversion with table properties The pairs below are SAS DATA steps with identical behavior The first of each pair assumes a SASFMT table property, the second one assumes no table property, and DBSASTYPE is added to achieve the same functionality For details, see the DBSASTYPE data set option. Here is the SAS LIBNAME statement for all of these SAS DATA steps. Note Remember that you cannot run ALTER TABLE commands in SAS because they are not SAS syntax You must e xecute these commands within Hive. You can use the DBMAXTEXT option to limit the SAS length of all STRING columns read from Hive For example, if you set DBMAXTEXT 100, then all SAS character variables that are created from Hive STRING columns are limited to width 100 Setting the DBMAXTEXT option likewise limits the length in SAS of Hive 12 and higher CHAR and VARCHAR columns. If you can use neither table properties nor DBSASTYPE to reduce the default 32767 SAS character length for Hive STRING columns, consider using this data set option Although SAS character variables still use the 32767 format, using SAS data set compression, you can realize significant savings in terms of disk space and CPU consumption Here is an example. Apply COMPRESS YES to the SAS data set reference, not to the Hadoop table reference Consider using this value even if you reduce default SAS character 32767 lengths with table properties or the DBSASTYPE option Also, consider using COMPRESS YES when many strings in th e Hadoop data are much smaller than the reduced SAS character variable length For example, you could use COMPRESS YES if you had the table property shown below, but most values of address1 are less than 100 characters. For more information about this data set option, see SAS Data Set Options Reference. Address Issues When Converting Data from Hive to SAS for Pass-Through SQL. Neither table properties nor DBSASTYPE address data conversion issues from Hive to SAS if you use pass-through SQL to read Hive data For pass-through SQL, you might need to explicitly convert and format each Hive column as you want it to be represented in SAS You can see this if you use SAS to create a table with SAS table properties that are generated for all but the BIGINT column Here is the table that SAS creates. SAS issues this HiveQL when creating the table. Next, an ALTER TABLE statement is issued to add a table property for BIGINT column bgint. A LIBNAME-based table that is read to SAS recognizes the table prope rties. This pass-through SQL step converts and formats each column identically to the LIBNAME-based step that applied the table properties. If SAS detects that a column length for a numeric variable is 32767 and could be less, it writes a message. WARNING These columns could have a length in SAS of 32767 If so, SAS performance is impacted See SAS ACCESS documentation for details The columns read from Hive followed by the maximum length observed were bgint 20, ts 26, d 9, t 15, stringcol 20.Hadoop Null Values. Hadoop has a special value called NULL A Hadoop NULL value means an absence of information and is analogous to a SAS missing value When SAS ACCESS reads a Hadoop NULL value, it interprets it as a SAS missing value For more information about how SAS handles NULL values, see Potential Result Set Differences When Processing Null Data. Copyright SAS Institute Inc All Rights Reserved.

No comments:

Post a Comment