Есть ли у одного рецепта много ингредиентов или у многих рецептов есть много ингредиентов
Я ожидаю, что последний будет позволять вам находить рецепт по ингредиенту.
Таким образом, вам понадобится промежуточная таблица, чтобы разбить отношения многих и многих на два отношения друг к другу.
Recipe(RecipeID, etc...)
Ingredients(IngredientID, etc....)
RecipeIngredients(RecipeID, IngredientID, etc..)
Тогда в RecipeIngredients
я бы поставил информацию, такую как количество этого ингредиента для этого рецепта.
Посмотрите на ParserOptions
int32_t arrow::csv::ParseOptions::header_rows = 1
Его можно определить как третий аргумент в TableReader::Make(...)
.
static Status Make(MemoryPool *pool, std::shared_ptr< io::InputStream > input, const ReadOptions &, const ParseOptions &, const ConvertOptions &, std::shared_ptr< TableReader > *out)
Проверьте документацию: https://arrow.apache.org/docs/cpp/namespacearrow_1_1csv.html
и эти тестовые файлы: https: / /github.com/apache/arrow/tree/3cf8f355e1268dd8761b99719ab09cc20d372185/cpp/src/arrow/csv
Вы не можете в данный момент. Вы получите ошибку, если header_rows == 0:
if (parse_options_.header_rows == 0) {
// TODO allow passing names and/or generate column numbers?
return Status::Invalid("header_rows == 0 needs explicit column names");
}