복붙노트

[HADOOP] 트위터에서 수로에 의해 생성 된 데이터 파일을 읽는 방법

HADOOP

트위터에서 수로에 의해 생성 된 데이터 파일을 읽는 방법

내가 HDFS에 수로를 이용하여 몇 트위터 데이터 로그 파일을 생성 한 로그 파일의 실제 형식은 무엇인가? 내가 JSON 형식의 데이터를 기다리고 있었다. 그러나처럼 보인다 이. 누군가가이 데이터를 읽는 방법에 나를 도울 수 있을까요? 또는 나는이 작업을 수행 한 방식에 문제가 무엇입니까

해결법

  1. ==============================

    1.이 링크 http://files.cloudera.com/samples/hive-serdes-1.0-SNAPSHOT.jar에서 파일 (하이브 SERDES-1.0 SNAPSHOT.jar)를 다운로드

    이 링크 http://files.cloudera.com/samples/hive-serdes-1.0-SNAPSHOT.jar에서 파일 (하이브 SERDES-1.0 SNAPSHOT.jar)를 다운로드

    그런 다음 $ HIVE_HOME / lib에이 파일을 넣어 하이브 쉘에 항아리를 추가

    hive> ADD JAR file:///home/hadoop/work/hive-0.10.0/lib/hive-serdes-1.0-SNAPSHOT.jar
    

    하이브 테이블 만들기

    hive> CREATE TABLE tweets (
    id BIGINT,
    created_at STRING,
    source STRING,
    favorited BOOLEAN,
    retweeted_status STRUCT<
    text:STRING,
    user:STRUCT<screen_name:STRING,name:STRING>,
    retweet_count:INT>,
    entities STRUCT<
    urls:ARRAY<STRUCT<expanded_url:STRING>>,
    user_mentions:ARRAY<STRUCT<screen_name:STRING,name:STRING>>,
    hashtags:ARRAY<STRUCT<text:STRING>>>,
    text STRING,
    user STRUCT<
    screen_name:STRING,
    name:STRING,
    friends_count:INT,
    followers_count:INT,
    statuses_count:INT,
    verified:BOOLEAN,
    utc_offset:INT,
    time_zone:STRING>,
    in_reply_to_screen_name STRING
    ) 
    ROW FORMAT SERDE 'com.cloudera.hive.serde.JSONSerDe';
    

    HDFS에서 테이블로 데이터를로드

    hive> load data inpath '/home/hadoop/work/flumedata' into table tweets;
    

    이제 당신은이 테이블에서 데이터를 트위터 분석

    hive> select id,text,user from tweets;
    

    작업이 완료,하지만 지금 하이브 테이블에서 직렬화, 데이터를 역 직렬화 ..

  2. ==============================

    2.다음 하이브 테이블에 센터 로그 데이터를로드 하이브 serde으로 사용하여 테이블을 생성한다. 다음을 분석 할 수 있습니다.

    다음 하이브 테이블에 센터 로그 데이터를로드 하이브 serde으로 사용하여 테이블을 생성한다. 다음을 분석 할 수 있습니다.

  3. from https://stackoverflow.com/questions/35809205/how-to-read-data-files-generated-by-flume-from-twitter by cc-by-sa and MIT license