def testPlentyCreate(self): del_insts = [self.odps.run_sql('drop table {0}'.format(tn('tmp_pyodps_create_temp_%d' % n))) for n in range(10)] [inst.wait_for_completion() for inst in del_insts] script = PLENTY_CREATE_CODE.format( odps_info=self._get_odps_json(), import_paths=utils.to_text(json.dumps(sys.path)), ) script_name = tempfile.gettempdir() + os.sep + 'tmp_' + str(os.getpid()) + '_plenty_script.py' with open(script_name, 'wb') as script_file: script_file.write(script.encode()) script_file.close() env = copy.deepcopy(os.environ) env.update({'WAIT_CLEANUP': '1'}) subprocess.call([sys.executable, script_name], close_fds=True, env=env) sleep(5) trial = 4 case = lambda: all(not self.odps.exist_table(tn('tmp_pyodps_create_temp_%d' % tid)) for tid in range(10)) while not case(): trial -= 1 sleep(5) if trial == 0: self.assertTrue(case())
def testUnicodePdDataFrame(self): import pandas as pd pd_df = pd.DataFrame([['中文'], [to_text('中文2')]], columns=[to_text('字段')]) df = DataFrame(pd_df) r = df['字段'].execute() self.assertEqual(to_text('中文'), to_text(r[0][0])) self.assertEqual(to_text('中文2'), to_text(r[1][0]))
def testUnicodePdDataFrame(self): import pandas as pd pd_df = pd.DataFrame([['中文'], [to_text('中文2')]], columns=[to_text('字段')]) df = DataFrame(pd_df) r = df['字段'].execute() self.assertEqual(to_text('中文'), to_text(r[0][0])) self.assertEqual(to_text('中文2'), to_text(r[1][0]))
def testReadNonSelectSQLInstance(self): test_table = tn('pyodps_t_tmp_read_non_select_sql_instance') self.odps.delete_table(test_table, if_exists=True) table = self.odps.create_table(test_table, schema=Schema.from_lists(['size'], ['bigint'], ['pt'], ['string']), if_not_exists=True) pt_spec = 'pt=20170410' table.create_partition(pt_spec) inst = self.odps.execute_sql('desc %s' % test_table) self.assertRaises((Instance.DownloadSessionCreationError, errors.InstanceTypeNotSupported), lambda: inst.open_reader(use_tunnel=True)) reader = inst.open_reader() self.assertTrue(hasattr(reader, 'raw')) inst = self.odps.execute_sql('show partitions %s' % test_table) reader = inst.open_reader() self.assertTrue(hasattr(reader, 'raw')) self.assertIn(utils.to_text(pt_spec), utils.to_text(reader.raw))