小编Tha*_*ddy的帖子

在SQL Server中将行转换为XML格式

我有如下要求.

在此输入图像描述

上面图片的ddl和dml脚本是

CREATE TABLE #example
    ([CCP_DETAILS_SID] int, [ACCOUNT_GROWTH] int, [PRODUCT_GROWTH] int, [PROJECTION_SALES] numeric(22,6), [PROJECTION_UNITS] numeric(22,6), [PERIOD_SID] int)
;

INSERT INTO #example
    ([CCP_DETAILS_SID], [ACCOUNT_GROWTH], [PRODUCT_GROWTH], [PROJECTION_SALES], [PROJECTION_UNITS], [PERIOD_SID])
VALUES
    (30001, 0, 0, 1505384.695, 18487.25251, 1801),
    (30001, 0, 0, 1552809.983, 18695.75536, 1802),
    (30001, 0, 0, 1595642.121, 18834.75725, 1803),
    (30002, 0, 0, 10000.32, 18834.75725, 1801),
    (30002, 0, 0, 1659124.98, 18834.75725, 1802),
    (30002, 0, 0, 465859546.6, 18834.75725, 1803)
;
Run Code Online (Sandbox Code Playgroud)

我必须将上面的结果转换为xml格式,如下所示(输出).

ccp_details_sid           xml_format_string

30001                      <period>  
                           <period_sid period_sid=1801>
                           <PROJECTION_SALES>1505384.695</PROJECTION_SALES>
                           <PROJECTION_UNITS>18487.25251<PROJECTION_UNITS>
                           <ACCOUNT_GROWTH>0</ACCOUNT_GROWTH>
                           <PRODUCT_GROWTH>0</PRODUCT_GROWTH>
                           </period_sid>
                            <period_sid period_sid=1802>
                           <PROJECTION_SALES>1552809.983</PROJECTION_SALES> …
Run Code Online (Sandbox Code Playgroud)

xml sql-server sql-server-2012

9
推荐指数
1
解决办法
2908
查看次数

使用python从蜂巢读取数据时出现性能问题

我在带有351837(110 MB大小)记录的配置单元中有一个表,我正在使用python读取此表并写入sql服务器。

在此过程中,将数据从蜂巢读取到熊猫数据帧时需要花费很长时间。当我加载全部记录(351k)时,需要90分钟。

为了改进,我采用了以下方法,例如从蜂巢中读取1万行并写入sql server。但是,仅从配置单元读取1万行并将其分配给Dataframe仅需要4-5分钟的时间。

def execute_hadoop_export():
       """
       This will run the steps required for a Hadoop Export.  
       Return Values is boolean for success fail
       """
       try:

           hql='select * from db.table '
           # Open Hive ODBC Connection
           src_conn = pyodbc.connect("DSN=****",autocommit=True)
           cursor=src_conn.cursor()
           #tgt_conn = pyodbc.connect(target_connection)

           # Using SQLAlchemy to dynamically generate query and leverage dataframe.to_sql to write to sql server...
           sql_conn_url = urllib.quote_plus('DRIVER={ODBC Driver 13 for SQL Server};SERVER=Xyz;DATABASE=Db2;UID=ee;PWD=*****')
           sql_conn_str = "mssql+pyodbc:///?odbc_connect={0}".format(sql_conn_url)
           engine = sqlalchemy.create_engine(sql_conn_str)
           # read source table.
           vstart=datetime.datetime.now()
           for df …
Run Code Online (Sandbox Code Playgroud)

python sql-server hive python-2.7 pandas

7
推荐指数
2
解决办法
573
查看次数

Mongodb计算查询 - 累积乘法

我最近开始在Mongodb工作POC.我下面有一个json系列

db.ccpsample.insertMany([
  {
    "ccp_id":1,
    "period":601,
    "sales":100.00
  },
  {
    "ccp_id":1,
    "period":602,
    "growth":2.0,
    "sales":"NULL"    ##sales=100.00*(1+(2.0/100)) -- 100.00 comes from(ccp_id:1 and period=601) 
  },
  {
    "ccp_id":1,
    "period":603,
    "growth":3.0,
    "sales":"NULL"   ##sales=100.00*(1+(2.0/100))**(1+(3.0/100))-- 100.00 comes from(ccp_id:1 and period=601) 2.0 comes from (ccp_id:2 and period=602)  
  },
  {
    "ccp_id":2,
    "period":601,
    "sales":200.00
  },
  {
    "ccp_id":2,
    "period":602,
    "growth":2.0,
    "sales":"NULL"   ##sales=200.00*(1+(2.0/100))
  },
  {
    "ccp_id":2,
    "period":603,
    "growth":3.0,
    "sales":"NULL"   ##same like above
  }
])
Run Code Online (Sandbox Code Playgroud)

并且我需要通过使用具有匹配条件ccp_id的上述文档来计算具有NULL的销售字段,并且期间字段应该等于601.我已经添加了一行来演示上面集合中的销售字段的计算.我试过$ graphlookup但没有运气.你们可以帮助或建议某种方式吗?

mongodb calculation

6
推荐指数
1
解决办法
318
查看次数

生产者程序中的kafka网络处理器错误(ArrayIndexOutOfBoundsException:18)

我下面有卡夫卡制作人Api程序,而我对卡夫卡本身并不陌生。下面的代码从API之一获取数据并将消息发送到kafka主题。

package kafka_Demo;

import java.util.Properties;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import org.apache.kafka.clients.producer.*;
import java.net.URL;
import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.ProducerRecord;

public class HttpBasicAuth {

    public static void main(String[] args) {
        try {

            Properties props = new Properties();
             props.put("bootstrap.servers", "localhost:9092");
             props.put("zookeeper.connect", "localhost:2181");
             props.put("batch.size", 16384);
             props.put("linger.ms", 1);
             props.put("buffer.memory", 33554432);
             props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
             props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");

            Producer<String, String> producer = new KafkaProducer<>(props);
            Json_read count = new Json_read();
            URL url = new URL("https://alm.sysbiz.org/rest/api/2/search?jql=project=ALG&maxResults=0");
            long total_ticket = count.ticketCount(url);
            Alm_authentication alm = new Alm_authentication();
            for (long i = 0; …
Run Code Online (Sandbox Code Playgroud)

java api apache-kafka hadoop2 kafka-producer-api

4
推荐指数
1
解决办法
2532
查看次数

无法通过存储过程将数据输入到生产中的 Oracle 表中

表的行数是671839,顺序是有顺序的。昨天已对表进行了交易,就像过去 7 个月(即自上次应用程序部署以来)所做的一样。在过去的 7 个月中,应用程序代码或数据库中没有任何变化,一切正常。突然在一些成功的事务之后,从昨天中午开始插入表一直失败!浏览器中没有错误消息。我已经导出了整个数据库,但无法在 cmd 提示符下使用 oracle 导入脚本导入相关表。显示以下错误:

IMP-00003:遇到 ORACLE 错误 1659 ORA-01659:无法在表空间 USERS 中分配超过 8 的 MINEXTENTS

这是DDL表的:

CREATE TABLE MDP.TBL_DAILY_DATA
(
  DAILY_DATA_ID        NUMBER(38),
  METER_ID             NUMBER(38),
  D_DATE               DATE,
  FREQUENCY_POWER_SUM  FLOAT(126),
  WH_REG_VALUE         FLOAT(126),
  VAR_REG_HIGH_VALUE   FLOAT(126),
  VAR_REG_LOW_VALUE    FLOAT(126),
  RECEIVED_DATE        DATE,
  DETAIL               SYS.XMLTYPE,
  DETAIL_TEXT          VARCHAR2(4000 BYTE),
  MWH_DETAIL               SYS.XMLTYPE,
  MWH_DETAIL_TEXT          VARCHAR2(4000 BYTE)
)
XMLTYPE DETAIL STORE AS CLOB (
  TABLESPACE USERS
  ENABLE       STORAGE IN ROW
  CHUNK       8192
  RETENTION
  NOCACHE
  LOGGING
  INDEX       (
        TABLESPACE USERS
        STORAGE    (
                    INITIAL          64K
                    NEXT             1M …
Run Code Online (Sandbox Code Playgroud)

database oracle tablespace

2
推荐指数
1
解决办法
4879
查看次数

获取sql中分隔符左侧的字符串的所有字符

以下是我正在运行的查询,以获取留给@分隔符的所有字符。我无法获得正确的结果。分隔符左侧的字符数未知。

select @class = SUBSTRING('25@class1', CHARINDEX('@','25@class1')-2, 8000)


select @class = left('25@class1',LEN('25@class1')-CHARINDEX('@','25@class1'))
Run Code Online (Sandbox Code Playgroud)

请帮忙

sql sql-server

1
推荐指数
1
解决办法
6159
查看次数