All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.marino_serna.parallel_tool.Store Maven / Gradle / Ivy

package com.github.marino_serna.parallel_tool;

import java.lang.annotation.*;


@Documented
@Target(ElementType.METHOD)
@Inherited
@Retention(RetentionPolicy.RUNTIME)
/*
 * This annotation will define if the output of the process will be store in an external source (database/file system)
 * or if it is a temporal DataFrame.
 *
 * Not adding the annotation or having temporal as "true" will cache the DataFrame during the execution and delete it after.
 *
 * Having the annotation define with the field temporal as "false" will write de DataFrame in the DataBase/file.
 *
 * The implementation of parallel.Storage provided will handle the writing/reading of the DataFrame, but the implementation suggested is:
 * name => table name or file name
 * schema => dataBase schema or path for the file system.
 */
public @interface Store {

    /**
     * The Output of the Method is temporal, or need to be store in an external source.
     */
    boolean temporal() default false;

    /**
     * Schema of the database, path for the file or equivalent information for storing the DataFrame.
     */
    String schema() default "";

    /**
     * Name of the file, table or equivalent for storing the DataFrame
     */
    String name() default "";

    /**
     * List of fields that will be use for partitioning the table
     */
    String[] partitions() default {};
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy