보물창고/Big Data2014.11.02 23:30





윈도우 하둡 하이브 외부 테이블 생성 에이브로 스키마 설정, Azure HDInsight Hive Create external table avro file read







HDInsight환경 hive에서 avro파일을 읽을수 있도록하는 create table 쿼리 입니다

테스트하는 동안 발생한 에러들도 포함해서 적습니다

에러로 찾아오시는 분들에게 도움이 되었으면 합니다



Azure HDInsight를 공부하면서 본 링크들을 정리했습니다







위 링크 중 [사이트 2]에 있는 hive코드를 참고했습니다
문서에는 java, hadoop streaming, hive, pig에서 사용할 수 있는 샘플 코드들이 있습니다
문서 앞부분에는 샘플 avro데이터 파일과 avsc파일이 있어 이걸 사용하면 바로 테스트 해 볼 수 있습니다





  • avsc파일을 url로 적는 방법으로 하다 적용이 안되어 create 할때 스키마를 직접 적어주는 방법으로 했습니다
    'avro.schema.literal' // 스키마를 직접 입력하는 것으로 사용함
    'avro.schema.url' //스키마를 경로로 지정하면서 파일을 사용함
  • azure hdinsight에서는 hdfs:///avrotest/schema/twitter.avsc 이방법으로는 파읽을 읽지 못하는거 같습니다





HDInsight에서 잘 동작하는 Create 문입니다


CREATE EXTERNAL TABLE tweets

COMMENT "A table backed by Avro data with the Avro schema stored in HDFS"
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
WITH SERDEPROPERTIES (
'avro.schema.literal' = '{
"name" : "Tweet",
"type" : "record",
"namespace" : "com.miguno.avro",
"fields" : [ {
"name" : "username",
"type" : "string"
}, {
"name" : "tweet",
"type" : "string"
}, {
"name" : "timestamp",
"type" : "long"
} ]
}'
)
STORED AS
INPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat'

LOCATION '/avrotest/data/';








잘 적용된 결과 확인


hive> describe tweets;
OK
username string from deserializer
tweet string from deserializer
timestamp bigint

hive> select * from tweets;
OK
miguno Rock: Nerf paper, scissors is fine. 1366150681
BlizzardCS Works as intended. Terran is IMBA. 1366154481
DarkTemplar From the shadows I come! 1366154681
VoidRay Prismatic core online! 1366160000
VoidRay Fire at will, commander. 1366160010
DarkTemplar I am the blade of Shakuras! 1366174681
Immortal I return to serve! 1366175681
Immortal En Taro Adun! 1366176283
VoidRay There is no greater void than the one between your ears. 13661763
00
DarkTemplar I strike from the shadows! 1366184681

Time taken: 0.172 seconds, Fetched: 10 row(s)









아래는 테스트 중 나온 에러들 입니다


'avro.schema.url'을 'avro.schema.literal'로 바꾸는 것으로 해결 했습니다

url도 사용가능하러 같은데 어떤 경로를 넣어줘야 하는지는 Azure HDInsight에서 확인해 봐야 합니다



CREATE EXTERNAL TABLE tweets
COMMENT "A table backed by Avro data with the Avro schema stored in HDFS"
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
STORED AS
INPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat'
LOCATION '/user/YOURUSER/examples/input/'
TBLPROPERTIES (
'avro.schema.url'='hdfs:///user/YOURUSER/examples/schema/twitter.avsc'
);


CREATE EXTERNAL TABLE tweets
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
STORED AS
INPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat'
LOCATION '/avrotest/data/'
TBLPROPERTIES (
'avro.schema.url'='hdfs:///avrotest/schema/twitter.avsc'
);

설정이 잘 안되서 다른걸로 시도중

describe tweets;

에러 스크랩
hive>
> CREATE EXTERNAL TABLE tweets
> ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
> STORED AS
> INPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'
> OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat'

> LOCATION '/avrotest/data/'
> TBLPROPERTIES (
>
Display all 445 possibilities? (y or n)
>
Display all 445 possibilities? (y or n)
> 'avro.schema.url'='hdfs:///avrotest/schema/twitter.avsc'
> );
OK
Time taken: 0.579 seconds
hive>
>
> describe tweets;
OK
error_error_error_error_error_error_error string from des
erializer
cannot_determine_schema string from deserializer
check string from deserializer
schema string from deserializer
url string from deserializer
and string from deserializer
literal string from deserializer
-- 이런 에러 출력이 된다면 avsc 설정이 제대로 안된 상태 입니다
Time taken: 0.904 seconds, Fetched: 7 row(s)
hive> select * from tweets;
OK
Failed with exception java.io.IOException:org.apache.avro.AvroTypeException: Fou
nd com.miguno.avro.Tweet, expecting org.apache.hadoop.hive.CannotDetermineSchema
Sentinel
Time taken: 1.611 seconds
hive> show tabels;
NoViableAltException(26@[654:1: ddlStatement : ( createDatabaseStatement | switc
hDatabaseStatement | dropDatabaseStatement | createTableStatement | dropTableSta
tement | truncateTableStatement | alterStatement | descStatement | showStatement
| metastoreCheck | createViewStatement | dropViewStatement | createFunctionStat
ement | createMacroStatement | createIndexStatement | dropIndexStatement | dropF
unctionStatement | dropMacroStatement | analyzeStatement | lockStatement | unloc
kStatement | lockDatabase | unlockDatabase | createRoleStatement | dropRoleState
ment | grantPrivileges | revokePrivileges | showGrants | showRoleGrants | showRo
lePrincipals | showRoles | grantRole | revokeRole | setRole | showCurrentRole );
])
at org.antlr.runtime.DFA.noViableAlt(DFA.java:158)
at org.antlr.runtime.DFA.predict(DFA.java:144)
at org.apache.hadoop.hive.ql.parse.HiveParser.ddlStatement(HiveParser.ja
va:2090)
at org.apache.hadoop.hive.ql.parse.HiveParser.execStatement(HiveParser.j
ava:1398)
at org.apache.hadoop.hive.ql.parse.HiveParser.statement(HiveParser.java:
1036)
at org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:19
9)
at org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:16
6)
at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:409)
at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:323)
at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:980)
at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1045)
at org.apache.hadoop.hive.ql.Driver.run(Driver.java:916)
at org.apache.hadoop.hive.ql.Driver.run(Driver.java:906)
at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:2
68)
at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:220)
at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:423)
at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:793
)
at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:686)
at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:625)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.util.RunJar.main(RunJar.java:212)
FAILED: ParseException line 1:5 cannot recognize input near 'show' 'tabels' '<EO
F>' in ddl statement
hive> show tables;
OK
hivesampletable
tweets
Time taken: 0.11 seconds, Fetched: 2 row(s)
hive> show tables;
OK
hivesampletable
tweets
Time taken: 0.062 seconds, Fetched: 2 row(s)
hive> select * from tweets;
OK
Failed with exception java.io.IOException:org.apache.avro.AvroTypeException: Fou
nd com.miguno.avro.Tweet, expecting org.apache.hadoop.hive.CannotDetermineSchema
Sentinel
Time taken: 0.297 seconds

--

위에것하고 같은글인데 git에서 관리되면서 더 최신으로 보임
https://github.com/miguno/avro-hadoop-starter

CREATE EXTERNAL TABLE tweets
COMMENT "A table backed by Avro data with the Avro schema stored in HDFS"
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
WITH SERDEPROPERTIES (
'avro.schema.url' = 'hdfs:///avrotest/schema/twitter.avsc'
)
STORED AS
INPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat'
LOCATION '/avrotest/data/';


에러 스크랩
hive>
> CREATE EXTERNAL TABLE tweets
> COMMENT "A table backed by Avro data with the Avro schema stored in HDFS"
> ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
> WITH SERDEPROPERTIES (
> 'avro.schema.url' = 'hdfs:///avrotest/schema/twitter.avsc'
> )
> STORED AS
> INPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'
> OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat'

> LOCATION '/avrotest/data/';
OK
Time taken: 0.431 seconds
hive>
> describe tweets;
OK
error_error_error_error_error_error_error string from des
erializer
cannot_determine_schema string from deserializer
check string from deserializer
schema string from deserializer
url string from deserializer
and string from deserializer
literal string from deserializer
-- 이런 에러 출력이 된다면 avsc 설정이 제대로 안된 상태 입니다
Time taken: 0.875 seconds, Fetched: 7 row(s)
hive>


--


CREATE EXTERNAL TABLE tweets
COMMENT "A table backed by Avro data with the Avro schema stored in HDFS"
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
WITH SERDEPROPERTIES (
'avro.schema.url' = 'hdfs:///avrotest/schema/twitter.avsc'
)
STORED AS
INPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat'
LOCATION 'hdfs:///avrotest/data/';

에러 스크랩
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:Got exception: java.io.IOException Incomplete HDFS URI, no host: hdfs:/avrotest/data)

--

CREATE EXTERNAL TABLE tweets
COMMENT "A table backed by Avro data with the Avro schema stored in HDFS"
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
WITH SERDEPROPERTIES (
'avro.schema.url' = '{
"type" : "record",
"name" : "Tweet",
"namespace" : "com.miguno.avro",
"fields" : [ {
"name" : "username",
"type" : "string"
}, {
"name" : "tweet",
"type" : "string"
}, {
"name" : "timestamp",
"type" : "long"
} ]
}'
)
STORED AS
INPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat'
LOCATION '/avrotest/data2/';

에러 스크랩
hive> describe tweets;
OK
error_error_error_error_error_error_error string from deserializer
cannot_determine_schema string from deserializer
check string from deserializer
schema string from deserializer
url string from deserializer
and string from deserializer
literal string from deserializer
-- 이런 에러 출력이 된다면 avsc 설정이 제대로 안된 상태 입니다
Time taken: 0.585 seconds, Fetched: 7 row(s)
hive>

--
"앞에 역슬레시가 있어서 따라해 봤음
https://social.msdn.microsoft.com/Forums/azure/en-US/5e0e93f9-3c02-40dc-afa4-656faacde69b/cannot-read-data-from-hive-external-table-to-a-avro-serilized-files-failed-with-exception?forum=hdinsight

CREATE EXTERNAL TABLE tweets
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
WITH SERDEPROPERTIES (
'avro.schema.url' = '{
\"type\" : \"record\",
\"name\" : \"Tweet\",
\"namespace\" : \"com.miguno.avro\",
\"fields\" : [ {
\"name\" : \"username\",
\"type\" : \"string\"
}, {
\"name\" : \"tweet\",
\"type\" : \"string\"
}, {
\"name\" : \"timestamp\",
\"type\" : \"long\"
} ]
}'
)
STORED AS
INPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat'
LOCATION '/avrotest/data2/';


에러 스크랩
hive>
>
> CREATE EXTERNAL TABLE tweets
> ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
> WITH SERDEPROPERTIES (
> 'avro.schema.url' = '{
> \"type\" : \"record\",
> \"name\" : \"Tweet\",
> \"namespace\" : \"com.miguno.avro\",
> \"fields\" : [ {
> \"name\" : \"username\",
> \"type\" : \"string\"
> }, {
> \"name\" : \"tweet\",
> \"type\" : \"string\"
> }, {
> \"name\" : \"timestamp\",
> \"type\" : \"long\"
> } ]
> }'
> )
> STORED AS
> INPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'
> OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat'

> LOCATION '/avrotest/data2/';
OK
Time taken: 0.234 seconds
hive>
>
> show tables;
OK
hivesampletable
tweets
Time taken: 0.063 seconds, Fetched: 2 row(s)
hive> describe tweets;
OK
error_error_error_error_error_error_error string from deserializer
cannot_determine_schema string from deserializer
check string from deserializer
schema string from deserializer
url string from deserializer
and string from deserializer
literal string from deserializer
-- 이런 에러 출력이 된다면 avsc 설정이 제대로 안된 상태 입니다
Time taken: 0.516 seconds, Fetched: 7 row(s)
hive>

--

CREATE EXTERNAL TABLE tweets
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
WITH SERDEPROPERTIES (
'avro.schema.url' = '{}'
)
STORED AS
INPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat'

LOCATION '/avrotest/data2/';


신고





Posted by 파란물
보물창고/Big Data2013.05.06 23:00










hiveserver2 client 내용 정리 beeline


HDInsight를 설치하면 서비스에 hiveserver2가 실행되고 있는데 이게 어떤건지 모르고 있다가 이번 Hortonworks 하둡 설치 메뉴얼을 보고 설치하는 중에 확인할 수 있었습니다


hiveserver2에대한 내용을 정리합니다
위 링크 페이지 윗부분 설명 부분을 번역했습니다





HiveServer2는 HiveServer2 작동하는 새로운 명령 셸 Beeline를 지원합니다. 그것은 SQLLine CLI (http://sqlline.sourceforge.net/)을 기반으로 JDBC 클라이언트입니다.

뿐만 아니라 Beeline에 적용 SQLLine의 자세한 설명서가있다.Beeline 쉘이 모두 포함 된 모드뿐만 아니라 원격 모드에서 작동합니다.

원격 모드 서점을 통해 별도의 HiveServer2 프로세스에 연결하는 반면 임베디드 모드에서는 내장 하이브 (하이브 CLI와 유사)를 실행합니다.


 





Beeline는 클라이언트입니다
아래 예를 보면 beeline를 실행하고 !connection을 이용 hive접속정보를 주면 hive서버에 접속해 쿼리를 날릴수 있게 제공합니다
beeline가 제공하는 명령어를 이용해 동작합니다
hive에서는 hiveserver2가 beeline가 접속할 수 있는 서버입니다 기본 10000번 포트를 이용해서 접속 할 수 있습니다

hiveserver2 에 접속할 수있는 jdbc가 제공되고 있으며 Hortonworks에서 ODBC를 제공하고 있고 검색해보니 2013년 2월에 답변한 내용중 곧 최신 버전의 ODBC가 제공될 것이라는 글이 있었습니다

Example –

% bin/beeline
Hive version 0.11.0-SNAPSHOT by Apache
beeline> !connect jdbc:hive2://localhost:10000 scott tiger org.apache.hive.jdbc.HiveDriver
!connect jdbc:hive2://localhost:10000 scott tiger org.apache.hive.jdbc.HiveDriver
Connecting to jdbc:hive2://localhost:10000
Connected to: Hive (version 0.10.0)
Driver: Hive (version 0.10.0-SNAPSHOT)
Transaction isolation: TRANSACTION_REPEATABLE_READ
0: jdbc:hive2://localhost:10000> show tables;
show tables;
+-------------------+
|     tab_name      |
+-------------------+
| primitives        |
| src               |
| src1              |
| src_json          |
| src_sequencefile  |
| src_thrift        |
| srcbucket         |
| srcbucket2        |
| srcpart           |
+-------------------+
9 rows selected (1.079 seconds)







SQLLine 사이트에서의 설명

SQLLine는 관계형 데이터베이스에 연결하고 SQL 명령을 실행하기위한 순수 자바 콘솔 기반 유틸리티입니다. 그것은 오라클, MySQL의 및 Sybase / SQL Server에 대한 isql을위한 SQLPLUS와 같은 다른 명령 줄 데이터베이스 액세스 유틸리티 비슷합니다. 그것은 순수 자바이기 때문에, 플랫폼 독립적이며, 자바 1.3 이상을 실행할 수있는 모든 플랫폼에서 실행됩니다.





HortonWorks 포럼 어떤 질문들에 달린 답변을 보면(2013년 2월) 현재 ODBC가 있는것으로 보이고 최신 ODBC버전도 곧 나올 것이라는 글이 있었습니다







아래는 실제 실행해서 테스트한 내용 입니다


/usr/lib/hive/bin/beeline

!connect jdbc:hive2://localhost:10000 hadoop hadoop org.apache.hive.jdbc.HiveDriver


show databases;
create table test2(a int, b string);
show tables;



실행 결과

[hadoop@localhost bin]$

[hadoop@localhost bin]$ /usr/lib/hive/bin/beeline

-hiveconf (No such file or directory)

hive.aux.jars.path=file:/usr/lib/hcatalog/share/hcatalog/hcatalog-core.jar (No such file or directory)

Hive version 0.10.0.24 by Apache

beeline>

beeline> show databases;

No current connection

beeline>

beeline> !connect jdbc:hive2://localhost:10000 hadoop hadoop org.apache.hive.jdbc.HiveDriver

Connecting to jdbc:hive2://localhost:10000

Connected to: Hive (version 0.10.0)

Driver: Hive (version 0.10.0.24)

Transaction isolation: TRANSACTION_REPEATABLE_READ

0: jdbc:hive2://localhost:10000>

0: jdbc:hive2://localhost:10000> show databases;

+----------------+

| database_name  |

+----------------+

| default     |

+----------------+

1 row selected (1.864 seconds)

0: jdbc:hive2://localhost:10000> create table test2(a int, b string);

No rows affected (0.366 seconds)

0: jdbc:hive2://localhost:10000>

0: jdbc:hive2://localhost:10000> show tables;

+-----------+

| tab_name  |

+-----------+

| test   |

| test2 |

+-----------+

2 rows selected (0.242 seconds)

0: jdbc:hive2://localhost:10000>





신고





Posted by 파란물
보물창고/Big Data2013.04.09 23:00









윈도우 하둡 HDInsight 0.4.0 클러스터 구성 - window hadoop HDInsight cluster setting






HDInsight 포럼에 있는 글을 참고 하여 클러스터를 구성했습니다

http://social.msdn.microsoft.com/Forums/en-US/hdinsight/thread/885efc22-fb67-4df8-8648-4ff38098dac6




HDInsight Preview server download

http://www.microsoft.com/web/gallery/install.aspx?appid=HDINSIGHT-PREVIEW







구성 환경
 - VirtualBox, Window Server 2012, 메모리 3G, 호스트 전용 네트워크

 - master 1개, slave 3개







HDInsight 0.4.0버전(130315) 이용하여 cluster 구성하였습니다

9번에서 0.3.0 버전과는 차이가 있으니 참고하고 봐주세요

리눅스 멀티 노드 구성과 대부분 비슷합니다








1. 마스터와 노드가 적절한 IP 가지고 있는지 확인 하세요






2. 모든 노드에 있는 방화벽과 포트 차단 소프트웨어를 끄세요

- 노드끼리 서로 엑세스 권한이 있는지 확인합니다






3. 마스터와 모든 노드에 있는 %WinDir%\system32\drivers\etc\hosts 파일을 편집합니다

다음과 같은 내용을 추가 합니다

<ip-to-master> master
<ip-to-node1> node1
......
<ip-to-nodeN> nodeN






4. 모든 노드의 C:\Hadoop\hadoop-1.1.0-SNAPSHOT\conf\master 파일을 수정합니다

- master 하나만 적혀 있는지 확인하세요

- 호스트 파일에 입력한 내용과 일치해야 합니다






5. 모든 노드의 C:\Hadoop\hadoop-1.1.0-SNAPSHOT\conf\slave파일을 편집:

- 모든 slave 노드 이름을 추가합니다

- 호스트 파일에 입력한 내용과 일치 해야합니다

node1
...
nodeN






6. 마스터와 모든 노드에서 C:\Hadoop\hadoop-1.1.0-SNAPSHOT\conf\core-site.xml 수정합니다

- fs.default.name 속성을 찾아 hdfs://master:8020으로 변경합니다






7. 마스터와 모든 노드에서 C:\Hadoop\hadoop-1.1.0-SNAPSHOT\conf\mapred-site.xml파일을 수정합니다

- 로컬 호스트에 대한 모든 참조 값을 master 수정합니다






8. 마스터와 모든 노드에서 C:\Hadoop\hadoop-1.1.0-SNAPSHOT\conf\hdfs-site.xml파일을 수정합니다

- 로컬호스트 대신 master 모두 수정합니다

- dfs.replication 설정을 찾아 원하는 복제 개수를 적어줍니다 (일반적으로 3)






9. 마스터와 슬레이브 노드 에서 command창을 열고 실행 스크립트 start-onebox.cmd 실행시킵니다

- 파일은 C:\Hadoop 있습니다

- master slave 원하는 설정에 따라 프로세스를 정지시켜 구성합니다

- 경험상 노드를 먼저 실행 시키고 마스터를 실행시키면 master slave 한번에 인식합니다







10. 설정은 사용하던 하둡 시스템에서는 바로 동작하지 않을 있습니다

- 사용하던 시스템에서 구성하려면 dn폴더를 찾아 삭제 시도해 보세요

- 최초 HDInsight 설치한 시스템에서 테스트를 권장합니다






11. HDInsight 0.4.0 cluster 구성 sqoop, pig, hive, streaming 테스트 확인 했습니다







신고





Posted by 파란물
보물창고/Big Data2013.03.29 23:00








HDInsight hive ODBC 0.4.0이전 버전과 이후 버전 비교입니다


정확하게 언제 바뀐 ODBC인지는 모르겠습니다

다만 2013년 3월 25일 HDInsight가 0.4.0.0으로 업데이트 되면서 hiveODBC를 새로 받아 봤는데 변경된 내용들이 있어서 정리합니다


아래 설명은 제가 확인한 3월 25일 기준으로 눴습니다










그림으로 보시면 이렇습니다

예전 Hive ODBC버전에서는 0.4.0.0에 접근이 안됩니다

3월 25일 버전에서 HDInsight 0.3.0버전에도 접근 안될거라는 예상을 해 봅니다







추가로 엑셀 2013에 hive버튼이 보이지 않습니다 

아래는 그와 관련해서 해결해보려고 시도한 내용을 정리 했습니다









ODBC접근 테스트는 엑셀에서 해봤습니다


EXCEL 옵셕 -> 추가기능 -> 관리 -> COM 추가 기능에

 HIVEExcel이 표시되지 않습니다











hiveODBC설치는 3월25일 이후를 설치하고

3월 35일 이전 버전의 addin설치 파일을 보관했다가 임의로 설치 후 시도 했으나 접근이 안됩니다

PowerPivot에서 ODBC로 데이터를 가져오는 과정에서도 접근 안됩니다







---------------------------

Hive Error

---------------------------

Unable to retrieve Hive object list. Details:


ERROR [08001] Unable to establish connection with hive server


ERROR [01004] Out connection string buffer not allocated


ERROR [01000] Batch size not set or is invalid. Defaulting to 65536.

---------------------------

확인   

---------------------------









3월 25일 이후 HiveODBCDriverSetupx64.msi 설치된 파일









3월 25일 이전 HiveODBCDriverSetupx64.msi 설치한 폴더 파일

HiveExcel.vsto

HiveExcel.dll.manifest

HiveExcel.dll

Microsoft.Office.Tools.Common.v4.0.Utilities.dll

이 파일들이 더 있습니다






3월 25일에 확인한 hive는 엑셀에 hive버튼을 추가하진 않지만

PowerPivot에서 사용할 데이를 hive ODBC를 통해 가져올 수는 있었습니다

신고





Posted by 파란물