<?xml version="1.0" encoding="UTF-8"?>
<!--
  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.
  -->
<feed description="clicks log" name="agregated-logs16" xmlns="uri:falcon:feed:0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<!--   <partitions>
        <partition name="fraud" />
        <partition name="good" />
    </partitions>

    <groups>online,bi</groups>-->

    <frequency>hours(1)</frequency>
<timezone>UTC</timezone>
    <late-arrival cut-off="hours(6)" />

    <clusters>
        <cluster name="corp" type="source">
            <validity start="2009-02-01T01:00Z" end="2099-05-01T00:00Z"
           />
            <retention limit="hours(6)" action="delete" /> <!-- Limit can be in Time or Instances 100, Action ENUM DELETE,ARCHIVE -->
        </cluster>
    </clusters>

   <table uri="catalog:default:output_table#year=${YEAR};month=${MONTH};day=${DAY};hour=${HOUR}" />
    
    <ACL owner="testuser" group="group" permission="0x755" />
    <schema location="hcat" provider="hcat" />

    <properties>
        <property name="field1" value="value1" />
        <property name="field2" value="value2" />
    </properties>
</feed>