Return-Path: X-Original-To: apmail-apex-dev-archive@minotaur.apache.org Delivered-To: apmail-apex-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id E850E19216 for ; Wed, 30 Mar 2016 06:31:33 +0000 (UTC) Received: (qmail 4063 invoked by uid 500); 30 Mar 2016 06:31:28 -0000 Delivered-To: apmail-apex-dev-archive@apex.apache.org Received: (qmail 3991 invoked by uid 500); 30 Mar 2016 06:31:28 -0000 Mailing-List: contact dev-help@apex.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@apex.incubator.apache.org Delivered-To: mailing list dev@apex.incubator.apache.org Received: (qmail 3979 invoked by uid 99); 30 Mar 2016 06:31:28 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 30 Mar 2016 06:31:28 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 4E83BC10DC for ; Wed, 30 Mar 2016 06:31:28 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -5.016 X-Spam-Level: X-Spam-Status: No, score=-5.016 tagged_above=-999 required=6.31 tests=[KAM_LAZY_DOMAIN_SECURITY=1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.996] autolearn=disabled Received: from mx2-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id RGD6ZdAbTxE4 for ; Wed, 30 Mar 2016 06:31:27 +0000 (UTC) Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx2-lw-eu.apache.org (ASF Mail Server at mx2-lw-eu.apache.org) with SMTP id 627735F250 for ; Wed, 30 Mar 2016 06:31:26 +0000 (UTC) Received: (qmail 3392 invoked by uid 99); 30 Mar 2016 06:31:25 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 30 Mar 2016 06:31:25 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id 79EC22C14FB for ; Wed, 30 Mar 2016 06:31:25 +0000 (UTC) Date: Wed, 30 Mar 2016 06:31:25 +0000 (UTC) From: "ASF GitHub Bot (JIRA)" To: dev@apex.incubator.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (APEXMALHAR-2011) POJO to Avro record converter MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/APEXMALHAR-2011?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15217495#comment-15217495 ] ASF GitHub Bot commented on APEXMALHAR-2011: -------------------------------------------- Github user chinmaykolhatkar commented on a diff in the pull request: https://github.com/apache/incubator-apex-malhar/pull/211#discussion_r57842065 --- Diff: contrib/src/main/java/com/datatorrent/contrib/avro/AvroFileInputOperator.java --- @@ -0,0 +1,164 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.datatorrent.contrib.avro; + +import java.io.IOException; +import java.io.InputStream; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import org.apache.avro.AvroRuntimeException; +import org.apache.avro.file.DataFileStream; +import org.apache.avro.generic.GenericDatumReader; +import org.apache.avro.generic.GenericRecord; +import org.apache.avro.io.DatumReader; +import org.apache.hadoop.classification.InterfaceStability; +import org.apache.hadoop.fs.Path; + +import com.datatorrent.api.AutoMetric; +import com.datatorrent.api.DefaultOutputPort; +import com.datatorrent.lib.io.fs.AbstractFileInputOperator; + +/** + *

+ * Avro File Input Operator + *

+ * A specific implementation of the AbstractFileInputOperator to read Avro + * container files.
+ * No need to provide schema,its inferred from the file
+ * Users can add the {@link IdempotentStorageManager.FSIdempotentStorageManager} + * to ensure exactly once semantics with a HDFS backed WAL. + * + * @displayName AvroFileInputOperator + * @category Input + * @tags fs, file,avro, input operator + */ +@InterfaceStability.Evolving +public class AvroFileInputOperator extends AbstractFileInputOperator +{ + + private transient long offset = 0L; + + @AutoMetric + int recordCnt = 0; --- End diff -- Can you give a complete name recordCount as this name will appear as metric. Samefor errorCnt.. Please make it recordCount and errorCount. > POJO to Avro record converter > ----------------------------- > > Key: APEXMALHAR-2011 > URL: https://issues.apache.org/jira/browse/APEXMALHAR-2011 > Project: Apache Apex Malhar > Issue Type: New Feature > Reporter: devendra tagare > > We are looking to develop a record converter which would take a POJO as an input and emit a Generic record as the output based on the given Avro schema. > The expected inputs for this operator would be, > 1.Class Name of the incoming POJO > 2.Avro schema for the Generic Record to emit. > This operator would receive an Object on its input port and emit a Generic record on the output port. > To start with, we would handle primitive types and then go on to handle complex types. > Thanks, > Dev -- This message was sent by Atlassian JIRA (v6.3.4#6332)