各个工种不同学历层次的信用卡办理统计创建t_bank_job_edu_credit_dws表
时间: 2024-12-15 16:23:13 浏览: 29
创建名为`t_bank_job_edu_credit_dws`的表格,用于统计不同工种(job_title)和教育背景(education_level)的信用卡申请情况,通常会包含字段如:
1. `id`: 主键,用于唯一标识每一条记录。
2. `job_title`: 工种类别,例如技术员、经理、销售等。
3. `education_level`: 教育程度,如高中、大专、本科、硕士及以上。
4. `credit_applications`: 信用卡申请数。
5. `approved_applications`: 通过审批的信用卡申请数。
6. `approval_rate`: 审批率(通过审批的申请数除以总申请数)。
这个表可以帮助银行分析各职位群体的信用风险,制定更精准的信贷策略。以下是创建该表的基本SQL命令示例:
```sql
CREATE TABLE t_bank_job_edu_credit_dws (
id INT PRIMARY KEY,
job_title VARCHAR(100),
education_level VARCHAR(50),
total_applications INT,
approved_applications INT,
approval_rate DECIMAL(5, 2)
);
```
相关问题
#!/bin/bash day1=$(date +%Y%m%d) day2=$(date -d "yesterday" +%Y%m%d) cd /ftpdata/receive/eda_in/in_1851 gunzip *.gz mv 10000_ACCOUNT_BASE_DB_${day1}_${day2}_D_00_0001.DAT /data/gbase/impdata/dws_db/dws_db_dws_in_1851_account_base.dat mv 10000_ACCOUNT_MANAGER_DB_${day1}_${day2}_D_00_0001.DAT /data/gbase/impdata/dws_db/dws_db_dws_in_1851_account_manager.dat mv 10000_CONSOLE_USER_DB_${day1}_${day2}_D_00_0001.DAT /data/gbase/impdata/dws_db/dws_db_dws_in_1851_console_user.dat mv 10000_REPORT_CRM_MASTER_ORDER_CONFIG_DB_${day1}_${day2}_D_00_0001.DAT /data/gbase/impdata/dws_db/dws_db_dws_in_1851_report_crm_master_order_config.dat mv 10000_INNER_ORDER_ITEM_DB_${day1}_${day2}_D_00_0001.DAT /data/gbase/impdata/dws_db/dws_db_dws_in_1851_inner_order_item.dat mv 10000_REPORT_RESOURCE_SCORE_DB_${day1}_${day2}_D_00_0001.DAT /data/gbase/impdata/dws_db/dws_db_dws_in_1851_report_resource_score.dat mv 10000_REPORT_PAYMENT_PLAN_PREVIEW_DB_${day1}_${day2}_D_00_0001.DAT /data/gbase/impdata/dws_db/dws_db_dws_in_1851_report_payment_plan_preview.dat mv 10000_ORDERS_ITEM_DEVELOPMENT_DETAIL_DB_${day1}_${day2}_D_00_0001.DAT /data/gbase/impdata/dws_db/dws_db_dws_in_1851_orders_item_development_detail.dat mv 10000_REPORT_ONE_CORD_ONE_PERSON_MANAGER_LIST_DB_${day1}_${day2}_D_00_0001.DAT /data/gbase/impdata/dws_db/dws_db_dws_in_1851_1code1person_manager_list.dat mv 10000_CLOUD_DB_${day1}_${day2}_D_00_0001.DAT /data/gbase/impdata/dws_db/dws_db_dws_in_1851_cloud.dat mv 10000_REPORT_OPOE_CUSTOMER_DB_${day1}_${day2}_D_00_0001.DAT /data/gbase/impdata/dws_db/dws_db_dws_in_1851_report_opoe_customer.dat mv 10000_CLOUD_ACTIVE_DB_${day1}_${day2}_D_00_0001.DAT /data/gbase/impdata/dws_db/dws_db_dws_in_1851_Cloud_active.dat mv 10000_BUSI_ORDER_DB_${day1}_${day2}_D_00_0001.DAT /data/gbase/impdata/dws_db/dws_db_dws_in_1851_busi_order.dat mv 10000_BUSI_ORDER_ITEM_DB_${day1}_${day2}_D_00_0001.DAT /data/gbase/impdata/dws_db/dws_db_dws_in_1851_busi_order_item.dat mv 10000_REPORT_IAM_IDENTITY_DB_${day1}_${day2}_D_00_0001.DAT /data/gbase/impdata/dws_db/dws_db_dws_in_1851_iam_identity.dat exit 0 什么意思
这段脚本是一个简单的Bash脚本,它的主要功能是将指定目录下的文件解压缩(使用gunzip命令),然后将解压后的文件移动到指定目录下(使用mv命令)。其中,脚本中使用了一些变量来获取日期信息,并将日期信息作为文件名的一部分。最后,脚本以退出码0退出。
具体来说,脚本的执行过程如下:
1. 获取当前日期和昨天的日期,并将其保存在day1和day2变量中。
2. 进入指定目录`/ftpdata/receive/eda_in/in_1851`。
3. 使用gunzip命令解压缩该目录下的所有.gz文件。
4. 将解压缩后的文件按照指定的命名规则移动到`/data/gbase/impdata/dws_db`目录下的相应位置。
5. 最后一行的`exit 0`表示脚本成功执行,并以退出码0退出。
这个脚本的作用可能是将某个特定日期的数据文件从一个目录移动到另一个目录,以供后续处理或分析使用。
scala spark 将 dwd 库中表的数据关联到 dws 库中 table12 的分区表,分区字段为 etl_date,类型为 String,且值为当前比赛日的前一天日期(分区字段格式 为 yyyyMMdd),并添加 dws_insert_user、dws_insert_time、dws_modify_user、 dws_modify_time 四列,其中 dws_insert_user、dws_modify_user 均填写 “user1”,dws_insert_time、dws_modify_time 均填写当前操作时间(年 月日必须是今天,时分秒只需在比赛时间范围内即可),并进行数据类型转 换
假设我们的dwd库中有一个表叫做dwd_table,我们需要将其关联到dws库中的table12分区表中,可以按照下面的步骤进行操作:
1. 创建dws库中的table12分区表,并定义分区字段etl_date,创建四个额外的列dws_insert_user、dws_insert_time、dws_modify_user、dws_modify_time:
```scala
spark.sql("CREATE TABLE dws.table12 (col1 String, col2 Int, etl_date String) PARTITIONED BY (etl_date String) " +
"TBLPROPERTIES('parquet.compress'='SNAPPY', 'parquet.compression.codec'='snappy')")
spark.sql("ALTER TABLE dws.table12 ADD COLUMNS (dws_insert_user String, dws_insert_time Timestamp, " +
"dws_modify_user String, dws_modify_time Timestamp)")
```
2. 获取比赛日的前一天日期,并将其转换为字符串格式:
```scala
import java.time.LocalDate
import java.time.format.DateTimeFormatter
val dtFormatter = DateTimeFormatter.ofPattern("yyyyMMdd")
val etl_date = dtFormatter.format(LocalDate.now().minusDays(1))
```
3. 将dwd_table中的数据关联到dws库中的table12分区表中,分区字段为etl_date,同时添加四个额外的列:
```scala
val insert_user = "user1"
val modify_user = "user1"
val insert_time = java.sql.Timestamp.valueOf(java.time.LocalDateTime.now())
val modify_time = java.sql.Timestamp.valueOf(java.time.LocalDateTime.now())
spark.sql(s"INSERT INTO dws.table12 PARTITION(etl_date='$etl_date')" +
s"SELECT col1, col2, '$etl_date', '$insert_user', '$insert_time', '$modify_user', '$modify_time' " +
"FROM dwd.dwd_table")
```
4. 对添加的四个列进行数据类型转换:
```scala
spark.sql("ALTER TABLE dws.table12 " +
"CHANGE COLUMN dws_insert_time dws_insert_time Timestamp " +
"CHANGE COLUMN dws_modify_time dws_modify_time Timestamp")
```
这样,我们就完成了将dwd库中表的数据关联到dws库中table12的分区表中,并添加四个额外列的操作。
阅读全文
相关推荐













