You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Jacques Nadeau (JIRA)" <ji...@apache.org> on 2015/10/27 16:36:27 UTC
[jira] [Commented] (DRILL-3572) Provide a simple interface to
append metadata to files and directories (.drill)
[ https://issues.apache.org/jira/browse/DRILL-3572?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14976576#comment-14976576 ]
Jacques Nadeau commented on DRILL-3572:
---------------------------------------
For some formats (for example text), it would be important to be able to potentially provide field types and field names. This seems to be a property of the format rather than a general concept that must be available for all formats. For example
{code}
{
// Drill version identifier
version: "dd1"
// Format Plugin Configuration
format: {
type: "text",
fieldDelimiter: ",",
lineDelimiter: "\n",
recordStructure: [
{name: "name", type: "VARCHAR(255)"},
{name: "email", type: "VARCHAR(255)"},
{name: "age", type: "INT"},
{name: "registrationDate", type: "TIMESTAMP"},
]
}
}
{code}
> Provide a simple interface to append metadata to files and directories (.drill)
> -------------------------------------------------------------------------------
>
> Key: DRILL-3572
> URL: https://issues.apache.org/jira/browse/DRILL-3572
> Project: Apache Drill
> Issue Type: Bug
> Components: Storage - Other
> Reporter: Jacques Nadeau
> Fix For: Future
>
>
> We need a way to store small amounts of metadata about a file or a collection of files. The current thinking was a way to have a "dot drill file" that ascribes metadata to a particular asset.
> Initial example file might be something that includes the following:
> {code}
> {
> // Drill version identifier
> version: "dd1"
>
> // Format Plugin Configuration
> format: {
> type: "httpd",
> format: "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{Cookie}i\""}
> },
>
> // Traits of underlying data (a.k.a physical properties)
> traits: [ // traits of the underlying data
> {type: "sort_nulls_first", columns: ["request.uri", "client.host"]}
> {type: "unique", columns ["abc"]}
> {type: "unqiue", columns ["xy", "zz"]}
> ],
>
> // Mappings between directory names and exposed columns
> dirs: [
> {skip: true}, // don't include this directory name in the directory path.
> {name: "year", type: "integer"},
> {name: "month", type: "integer"},
> {name: "day", type: "integer"}
> ],
> // whether or not a user can add new columns to the table through insert
> rigid_table: true
>
> }
> {code}
> We also need to support adding more machine-generated/managed data such as statistics. That should be done using a separate file from the one that is human description.
> A user should be able to ascribe this metadata directly through the file system as well as through sql commands such as
> {code}
> ALTER TABLE ADD METADATA ...
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)