Ejemplo n.º 1
0
 def test_generate_fetch_size(self):
     driver = os.environ.get('SQLFLOW_TEST_DB')
     if driver == "mysql":
         database = "iris"
         user = os.environ.get('SQLFLOW_TEST_DB_MYSQL_USER') or "root"
         password = os.environ.get('SQLFLOW_TEST_DB_MYSQL_PASSWD') or "root"
         conn = connect(driver,
                        database,
                        user=user,
                        password=password,
                        host="127.0.0.1",
                        port="3306")
         column_name_to_type = {
             "sepal_length": {
                 "feature_name": "sepal_length",
                 "delimiter": "",
                 "dtype": "float32",
                 "is_sparse": False,
                 "shape": []
             }
         }
         gen = db_generator(driver,
                            conn,
                            'SELECT * FROM iris.train limit 10',
                            ["sepal_length"],
                            "class",
                            column_name_to_type,
                            fetch_size=4)
         self.assertEqual(len([g for g in gen()]), 10)
Ejemplo n.º 2
0
    def test_hive(self):
        driver = os.environ.get('SQLFLOW_TEST_DB')
        if driver == "hive":
            host = "127.0.0.1"
            port = "10000"
            conn = connect(driver,
                           "iris",
                           user="******",
                           password="******",
                           host=host,
                           port=port)
            self._do_test(driver,
                          conn,
                          hdfs_namenode_addr="127.0.0.1:8020",
                          hive_location="/sqlflow")
            conn.close()

            conn = connect_with_data_source(
                "hive://*****:*****@127.0.0.1:10000/iris")
            self._do_test(driver, conn)
            self._do_test_hive_specified_db(
                driver,
                conn,
                hdfs_namenode_addr="127.0.0.1:8020",
                hive_location="/sqlflow")
            conn.close()
Ejemplo n.º 3
0
 def test_generate_fetch_size(self):
     driver = os.environ.get('SQLFLOW_TEST_DB')
     if driver == "mysql":
         user, password, host, port, database = testing_mysql_cfg()
         conn = connect(driver,
                        database,
                        user=user,
                        password=password,
                        host=host,
                        port=port)
         column_name_to_type = {
             "sepal_length": {
                 "feature_name": "sepal_length",
                 "delimiter": "",
                 "dtype": "float32",
                 "is_sparse": False,
                 "shape": []
             }
         }
         label_spec = {
             "feature_name": "label",
             "shape": [],
             "delimiter": ""
         }
         gen = db_generator(driver,
                            conn,
                            'SELECT * FROM iris.train limit 10',
                            ["sepal_length"],
                            label_spec,
                            column_name_to_type,
                            fetch_size=4)
         self.assertEqual(len([g for g in gen()]), 10)
Ejemplo n.º 4
0
    def test_generator(self):
        driver = os.environ.get('SQLFLOW_TEST_DB')
        if driver == "mysql":
            database = "iris"
            user = os.environ.get('SQLFLOW_TEST_DB_MYSQL_USER') or "root"
            password = os.environ.get('SQLFLOW_TEST_DB_MYSQL_PASSWD') or "root"
            conn = connect(driver, database, user=user, password=password, host="127.0.0.1", port="3306")
            # prepare test data
            execute(driver, conn, self.drop_statement)
            execute(driver, conn, self.create_statement)
            execute(driver, conn, self.insert_statement)

            column_name_to_type = {"features": {
                "feature_name": "features",
                "delimiter": "",
                "dtype": "float32",
                "is_sparse": False,
                "shape": []
            }}
            gen = db_generator(driver, conn, "SELECT * FROM test_table_float_fea",
                               ["features"], "label", column_name_to_type)
            idx = 0
            for d in gen():
                if idx == 0:
                    self.assertEqual(d, ((1.0,), [0]))
                elif idx == 1:
                    self.assertEqual(d, ((2.0,), [1]))
                idx += 1
            self.assertEqual(idx, 2)
Ejemplo n.º 5
0
    def test_mysql(self):
        driver = os.environ.get('SQLFLOW_TEST_DB')
        if driver == "mysql":
            user = os.environ.get('SQLFLOW_TEST_DB_MYSQL_USER') or "root"
            password = os.environ.get('SQLFLOW_TEST_DB_MYSQL_PASSWD') or "root"
            host = "127.0.0.1"
            port = "3306"
            database = "iris"
            conn = connect(driver, database, user=user, password=password, host=host, port=port)
            self._do_test(driver, conn)

            conn = connect_with_data_source("mysql://*****:*****@tcp(127.0.0.1:3306)/iris?maxAllowedPacket=0")
            self._do_test(driver, conn)
Ejemplo n.º 6
0
    def test_mysql(self):
        driver = os.environ.get('SQLFLOW_TEST_DB')
        if driver == "mysql":
            user, password, host, port, database = testing_mysql_cfg()
            conn = connect(driver,
                           database,
                           user=user,
                           password=password,
                           host=host,
                           port=port)
            self._do_test(driver, conn)

            conn = connect_with_data_source(testing_mysql_db_url())
            self._do_test(driver, conn)
Ejemplo n.º 7
0
    def test_generator(self):
        driver = os.environ.get('SQLFLOW_TEST_DB')
        if driver == "mysql":
            database = "iris"
            user, password, host, port, database = testing_mysql_cfg()
            conn = connect(driver,
                           database,
                           user=user,
                           password=password,
                           host=host,
                           port=int(port))
            # prepare test data
            execute(driver, conn, self.drop_statement)
            execute(driver, conn, self.create_statement)
            execute(driver, conn, self.insert_statement)

            column_name_to_type = {
                "features": {
                    "feature_name": "features",
                    "delimiter": "",
                    "dtype": "float32",
                    "is_sparse": False,
                    "shape": []
                }
            }
            label_spec = {
                "feature_name": "label",
                "shape": [],
                "delimiter": ""
            }
            gen = db_generator(driver, conn,
                               "SELECT * FROM test_table_float_fea",
                               ["features"], label_spec, column_name_to_type)
            idx = 0
            for row, label in gen():
                features = read_features_from_row(row, ["features"],
                                                  ["features"],
                                                  column_name_to_type)
                d = (features, label)
                if idx == 0:
                    self.assertEqual(d, (((1.0, ), ), 0))
                elif idx == 1:
                    self.assertEqual(d, (((2.0, ), ), 1))
                idx += 1
            self.assertEqual(idx, 2)