// Copyright 2021 Molecula Corp. All rights reserved. package cmd import ( "github.com/featurebasedb/featurebase/v3/ctl" "github.com/featurebasedb/featurebase/v3/logger" "github.com/spf13/cobra" ) // newImportCommand runs the FeatureBase import subcommand for ingesting bulk data. func newDataframeCsvLoaderCommand(logdest logger.Logger) *cobra.Command { cmd := ctl.NewDataframeCsvLoaderCommand(logdest) loaderCmd := &cobra.Command{ Use: "dataframe-csv-loader", Short: "load dataframe integer and floating point values into featurebase", Long: ` `, RunE: UsageErrorWrapper(cmd), } flags := loaderCmd.Flags() flags.StringVar(&cmd.Path, "csv", "", "path to csv input file") flags.StringVar(&cmd.Host, "host", "localhost:10101", "host:port of FeatureBase.") flags.StringVar(&cmd.Pprof, "pprof", cmd.Pprof, "host:port to listen for profiling requests at /debug/pprof and /debug/fgprof.") flags.StringVar(&cmd.AuthToken, "auth-token", "", "Authentication token") flags.StringVar(&cmd.Index, "index", "", "Destination Index. ") flags.IntVar(&cmd.MaxCapacity, "buffer", 0, "Maximum size of of the line buffer defaults to go bufio default ") flags.IntVar(&cmd.BatchSize, "batch-size", 1048576, "Maximum number of records to send in a single batch ") ctl.SetTLSConfig( flags, "", &cmd.TLS.CertificatePath, &cmd.TLS.CertificateKeyPath, &cmd.TLS.CACertPath, &cmd.TLS.SkipVerify, &cmd.TLS.EnableClientVerification, ) return loaderCmd }