dataformat part-5
This commit is contained in:
parent
5355a6ec6c
commit
dbca0c46f8
|
@ -349,7 +349,206 @@ Avro parseSpec可以包含使用"root"或"path"字段类型的 [flattenSpec](#fl
|
||||||
|
|
||||||
**Hadoop job属性**
|
**Hadoop job属性**
|
||||||
|
|
||||||
像大多数Hadoop作业,
|
像大多数Hadoop作业,最佳结果是在 `tuningConfig` 中的 `jobProperties` 中添加 `"mapreduce.job.user.classpath.first": "true"` 或者 `"mapreduce.job.classloader": "true"`。 注意,如果使用了 `"mapreduce.job.classloader": "true"`, 需要设置 `mapreduce.job.classloader.system.classes` 包含 `-org.apache.hadoop.hive.` 来让Hadoop从应用jars包中加载 `org.apache.hadoop.hive` 而非从系统jar中,例如:
|
||||||
|
|
||||||
|
```
|
||||||
|
...
|
||||||
|
"mapreduce.job.classloader": "true",
|
||||||
|
"mapreduce.job.classloader.system.classes" : "java., javax.accessibility., javax.activation., javax.activity., javax.annotation., javax.annotation.processing., javax.crypto., javax.imageio., javax.jws., javax.lang.model., -javax.management.j2ee., javax.management., javax.naming., javax.net., javax.print., javax.rmi., javax.script., -javax.security.auth.message., javax.security.auth., javax.security.cert., javax.security.sasl., javax.sound., javax.sql., javax.swing., javax.tools., javax.transaction., -javax.xml.registry., -javax.xml.rpc., javax.xml., org.w3c.dom., org.xml.sax., org.apache.commons.logging., org.apache.log4j., -org.apache.hadoop.hbase., -org.apache.hadoop.hive., org.apache.hadoop., core-default.xml, hdfs-default.xml, mapred-default.xml, yarn-default.xml",
|
||||||
|
...
|
||||||
|
```
|
||||||
|
|
||||||
|
这是因为 `orc-mapreduce` 库的配置单元 `hive-storage-api` 依赖关系,它在 `org.apache.hadoop.hive` 包下提供了一些类。如果改为使用`"mapreduce.job.user.classpath.first":"true"`设置,则不会出现此问题。
|
||||||
|
|
||||||
|
**示例**
|
||||||
|
|
||||||
|
**`orc` parser, `orc` parseSpec, 自动字段发现, 展平表达式**
|
||||||
|
```
|
||||||
|
{
|
||||||
|
"type": "index_hadoop",
|
||||||
|
"spec": {
|
||||||
|
"ioConfig": {
|
||||||
|
"type": "hadoop",
|
||||||
|
"inputSpec": {
|
||||||
|
"type": "static",
|
||||||
|
"inputFormat": "org.apache.orc.mapreduce.OrcInputFormat",
|
||||||
|
"paths": "path/to/file.orc"
|
||||||
|
},
|
||||||
|
...
|
||||||
|
},
|
||||||
|
"dataSchema": {
|
||||||
|
"dataSource": "example",
|
||||||
|
"parser": {
|
||||||
|
"type": "orc",
|
||||||
|
"parseSpec": {
|
||||||
|
"format": "orc",
|
||||||
|
"flattenSpec": {
|
||||||
|
"useFieldDiscovery": true,
|
||||||
|
"fields": [
|
||||||
|
{
|
||||||
|
"type": "path",
|
||||||
|
"name": "nestedDim",
|
||||||
|
"expr": "$.nestedData.dim1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "path",
|
||||||
|
"name": "listDimFirstItem",
|
||||||
|
"expr": "$.listDim[1]"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"timestampSpec": {
|
||||||
|
"column": "timestamp",
|
||||||
|
"format": "millis"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
...
|
||||||
|
},
|
||||||
|
"tuningConfig": <hadoop-tuning-config>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
**`orc` parser, `orc` parseSpec, 不具有 `flattenSpec` 或者 `dimensionSpec`的字段发现**
|
||||||
|
|
||||||
|
```
|
||||||
|
{
|
||||||
|
"type": "index_hadoop",
|
||||||
|
"spec": {
|
||||||
|
"ioConfig": {
|
||||||
|
"type": "hadoop",
|
||||||
|
"inputSpec": {
|
||||||
|
"type": "static",
|
||||||
|
"inputFormat": "org.apache.orc.mapreduce.OrcInputFormat",
|
||||||
|
"paths": "path/to/file.orc"
|
||||||
|
},
|
||||||
|
...
|
||||||
|
},
|
||||||
|
"dataSchema": {
|
||||||
|
"dataSource": "example",
|
||||||
|
"parser": {
|
||||||
|
"type": "orc",
|
||||||
|
"parseSpec": {
|
||||||
|
"format": "orc",
|
||||||
|
"timestampSpec": {
|
||||||
|
"column": "timestamp",
|
||||||
|
"format": "millis"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
...
|
||||||
|
},
|
||||||
|
"tuningConfig": <hadoop-tuning-config>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
**`orc` parser, `orc` parseSpec, 非自动发现**
|
||||||
|
|
||||||
|
```
|
||||||
|
{
|
||||||
|
"type": "index_hadoop",
|
||||||
|
"spec": {
|
||||||
|
"ioConfig": {
|
||||||
|
"type": "hadoop",
|
||||||
|
"inputSpec": {
|
||||||
|
"type": "static",
|
||||||
|
"inputFormat": "org.apache.orc.mapreduce.OrcInputFormat",
|
||||||
|
"paths": "path/to/file.orc"
|
||||||
|
},
|
||||||
|
...
|
||||||
|
},
|
||||||
|
"dataSchema": {
|
||||||
|
"dataSource": "example",
|
||||||
|
"parser": {
|
||||||
|
"type": "orc",
|
||||||
|
"parseSpec": {
|
||||||
|
"format": "orc",
|
||||||
|
"flattenSpec": {
|
||||||
|
"useFieldDiscovery": false,
|
||||||
|
"fields": [
|
||||||
|
{
|
||||||
|
"type": "path",
|
||||||
|
"name": "nestedDim",
|
||||||
|
"expr": "$.nestedData.dim1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "path",
|
||||||
|
"name": "listDimFirstItem",
|
||||||
|
"expr": "$.listDim[1]"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"timestampSpec": {
|
||||||
|
"column": "timestamp",
|
||||||
|
"format": "millis"
|
||||||
|
},
|
||||||
|
"dimensionsSpec": {
|
||||||
|
"dimensions": [
|
||||||
|
"dim1",
|
||||||
|
"dim3",
|
||||||
|
"nestedDim",
|
||||||
|
"listDimFirstItem"
|
||||||
|
],
|
||||||
|
"dimensionExclusions": [],
|
||||||
|
"spatialDimensions": []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
...
|
||||||
|
},
|
||||||
|
"tuningConfig": <hadoop-tuning-config>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
**`orc` parser, `timeAndDims` parseSpec**
|
||||||
|
|
||||||
|
```
|
||||||
|
{
|
||||||
|
"type": "index_hadoop",
|
||||||
|
"spec": {
|
||||||
|
"ioConfig": {
|
||||||
|
"type": "hadoop",
|
||||||
|
"inputSpec": {
|
||||||
|
"type": "static",
|
||||||
|
"inputFormat": "org.apache.orc.mapreduce.OrcInputFormat",
|
||||||
|
"paths": "path/to/file.orc"
|
||||||
|
},
|
||||||
|
...
|
||||||
|
},
|
||||||
|
"dataSchema": {
|
||||||
|
"dataSource": "example",
|
||||||
|
"parser": {
|
||||||
|
"type": "orc",
|
||||||
|
"parseSpec": {
|
||||||
|
"format": "timeAndDims",
|
||||||
|
"timestampSpec": {
|
||||||
|
"column": "timestamp",
|
||||||
|
"format": "auto"
|
||||||
|
},
|
||||||
|
"dimensionsSpec": {
|
||||||
|
"dimensions": [
|
||||||
|
"dim1",
|
||||||
|
"dim2",
|
||||||
|
"dim3",
|
||||||
|
"listDim"
|
||||||
|
],
|
||||||
|
"dimensionExclusions": [],
|
||||||
|
"spatialDimensions": []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
...
|
||||||
|
},
|
||||||
|
"tuningConfig": <hadoop-tuning-config>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
#### Parquet Hadoop Parser
|
#### Parquet Hadoop Parser
|
||||||
#### Parquet Avro Hadoop Parser
|
#### Parquet Avro Hadoop Parser
|
||||||
#### Avro Stream Parser
|
#### Avro Stream Parser
|
||||||
|
|
Loading…
Reference in New Issue