This is a follow up issue of #244, where we have some limitations of reading into arrow record batch:
- Only primitive type is supported. That's the projected fields count not be either nested filed of structs, or non primitive types such as map, list.
- Type promotion is missing.
- Default value is not supported yet.
We should implement sth like ArrowProjectionVisitor to support these.