[HADOOP] Hadoop 및 HDFS에 의존하지 않고 Java를 사용하여 마루판을 읽고 쓸 수 있습니까?
HADOOPHadoop 및 HDFS에 의존하지 않고 Java를 사용하여 마루판을 읽고 쓸 수 있습니까?
나는이 질문에 대한 해결책을 찾고있다.
HDFS 및 Hadoop에 의존하지 않고 Java 프로그램에 Parquet 형식을 읽고 쓰는 것을 포함 할 수있는 방법이 없다고합니다. 이 올바른지?
Hadoop 클러스터 외부의 클라이언트 시스템에서 읽고 쓰고 싶습니다.
Apache Drill에 대해 흥미를 느끼기 시작했으나 별도의 프로세스로 실행해야합니다. 내가 필요한 것은 Parquet 형식을 사용하여 파일을 읽고 쓸 수있는 in-process 기능입니다.
해결법
-
==============================
1.당신은 자바 마루 클라이언트 API를 사용하여 측면 hadoop 클러스터 밖으로 쪽모작을 작성할 수 있습니다.
당신은 자바 마루 클라이언트 API를 사용하여 측면 hadoop 클러스터 밖으로 쪽모작을 작성할 수 있습니다.
다음은 parquet 포맷을 로컬 디스크에 작성하는 java의 샘플 코드입니다.
{ final String schemaLocation = "/tmp/avro_format.json"; final Schema avroSchema = new Schema.Parser().parse(new File(schemaLocation)); final MessageType parquetSchema = new AvroSchemaConverter().convert(avroSchema); final WriteSupport<Pojo> writeSupport = new AvroWriteSupport(parquetSchema, avroSchema); final String parquetFile = "/tmp/parquet/data.parquet"; final Path path = new Path(parquetFile); ParquetWriter<GenericRecord> parquetWriter = new ParquetWriter(path, writeSupport, CompressionCodecName.SNAPPY, BLOCK_SIZE, PAGE_SIZE); final GenericRecord record = new GenericData.Record(avroSchema); record.put("id", 1); record.put("age", 10); record.put("name", "ABC"); record.put("place", "BCD"); parquetWriter.write(record); parquetWriter.close(); }
avro_format.json,
{ "type":"record", "name":"Pojo", "namespace":"com.xx.test", "fields":[ { "name":"id", "type":[ "int", "null" ] }, { "name":"age", "type":[ "int", "null" ] }, { "name":"name", "type":[ "string", "null" ] }, { "name":"place", "type":[ "string", "null" ] } ] }
희망이 도움이됩니다.
from https://stackoverflow.com/questions/42078757/is-it-possible-to-read-and-write-parquet-using-java-without-a-dependency-on-hado by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Hadoop 오류 - 모든 데이터 노드가 중단됩니다. (0) | 2019.07.28 |
---|---|
[HADOOP] HBase가 ./start-hbase.sh - 권한이 거부 된 후에 실행되지 않습니다? (0) | 2019.07.28 |
[HADOOP] 왜 사용자가 외부 하이브 테이블의 위치에 대한 쓰기 권한이 필요합니까? (0) | 2019.07.28 |
[HADOOP] 자바를 사용하여 원격 HBase 서비스에 연결하기 (0) | 2019.07.28 |
[HADOOP] Hortonworks HDP 샌드 박스의 HBase : ZooKeeper에서 마스터 주소를 가져올 수 없습니다. (0) | 2019.07.28 |