|
|
|
Чтение больших csv в базу
|
|||
|---|---|---|---|
|
#18+
Доброе время суток, нужно периодически заливать в базу пару больших csv (около 1.5 гиг). csvDocument с такими работать не умеет. Можно сваять что то своё на осноте TMemoryStream но зачем изобретать велосипед, наверняка есть уже что то готовое? Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2017, 12:08:03 |
|
||
|
Чтение больших csv в базу
|
|||
|---|---|---|---|
|
#18+
Mikhail Tchervonenko, СУБД (какая?) не поддерживает импорт? или написать построчное чтение... не вариант? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2017, 12:26:50 |
|
||
|
Чтение больших csv в базу
|
|||
|---|---|---|---|
|
#18+
Mikhail Tchervonenko наверняка есть уже что то готовое? Readln ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2017, 12:31:16 |
|
||
|
Чтение больших csv в базу
|
|||
|---|---|---|---|
|
#18+
sql2012Mikhail Tchervonenko, СУБД (какая?) не поддерживает импорт? или написать построчное чтение... не вариант? FB 3 Попробовал через импорт IBExpert, тоже отвалился с исключением. Есть готовый скрипт построчного чтения с разбором? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2017, 12:33:27 |
|
||
|
Чтение больших csv в базу
|
|||
|---|---|---|---|
|
#18+
schiMikhail Tchervonenko наверняка есть уже что то готовое? Readln да оно понятно что можно и так, думал может что то готовое есть что не пихает всё сразу в память ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2017, 12:34:32 |
|
||
|
Чтение больших csv в базу
|
|||
|---|---|---|---|
|
#18+
Mikhail Tchervonenkoschiпропущено... Readln да оно понятно что можно и так, думал может что то готовое есть что не пихает всё сразу в память ну так readln и не пихает всё в память ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2017, 12:38:51 |
|
||
|
Чтение больших csv в базу
|
|||
|---|---|---|---|
|
#18+
defecatorMikhail Tchervonenkoпропущено... да оно понятно что можно и так, думал может что то готовое есть что не пихает всё сразу в память ну так readln и не пихает всё в память да, но и буферизацию толком не делает. Наверняка медленно будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2017, 12:42:19 |
|
||
|
Чтение больших csv в базу
|
|||
|---|---|---|---|
|
#18+
Mikhail Tchervonenko, Посмотри подключение внешних файлов, делал приблизительно тоже самое, только у меня DBF был ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2017, 12:51:13 |
|
||
|
Чтение больших csv в базу
|
|||
|---|---|---|---|
|
#18+
http://docwiki.embarcadero.com/Libraries/Berlin/en/System.Classes.TTextReader.ReadLine https://synopse.info/files/html/api-1.18/SynCommons.html#TFILEBUFFERREADER http://sql.ru/forum/1178076 http://github.com/d-mozulyov/CachedTexts ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2017, 12:56:33 |
|
||
|
Чтение больших csv в базу
|
|||
|---|---|---|---|
|
#18+
Mikhail Tchervonenkoно и буферизацию толком не делает есть такая функция, SetTextBuf но вообще - да, readLn сделан под чтение нескольких переменных с одной строки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2017, 12:57:46 |
|
||
|
Чтение больших csv в базу
|
|||
|---|---|---|---|
|
#18+
Может быть, можно чего-то полезного подцепить из https://synopse.info/forum/viewtopic.php?id=1231 https://github.com/synopse/mORMot/tree/master/SQLite3/Samples/ThirdPartyDemos/AntonE/CSV2ORM ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2017, 12:59:40 |
|
||
|
Чтение больших csv в базу
|
|||
|---|---|---|---|
|
#18+
Arioch http://www.sql.ru/forum/1213139-46/ekstremalno-bystryy-menedzher-pamyati-brainmm http://github.com/d-mozulyov/CachedTexts первую ссылку не читать должно было быть http://www.sql.ru/forum/1178076/oficialnyy-reliz-cachedbuffers ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2017, 13:02:16 |
|
||
|
Чтение больших csv в базу
|
|||
|---|---|---|---|
|
#18+
Mikhail Tchervonenkodefecatorпропущено... ну так readln и не пихает всё в память да, но и буферизацию толком не делает. Наверняка медленно будет. На удивление нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2017, 13:12:13 |
|
||
|
Чтение больших csv в базу
|
|||
|---|---|---|---|
|
#18+
Mikhail Tchervonenkoschiпропущено... Readln да оно понятно что можно и так, думал может что то готовое есть что не пихает всё сразу в память Есть готовое: 1. Читаешь строку: Readln. 2. Парсишь CSV: TStringList.DelimetedText := <Строка> 3. Заливаешь в базу 4. Смыть, повторить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2017, 13:13:32 |
|
||
|
Чтение больших csv в базу
|
|||
|---|---|---|---|
|
#18+
ок, всем спасибо за участие. Примерно понял состояние дел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2017, 13:27:09 |
|
||
|
Чтение больших csv в базу
|
|||
|---|---|---|---|
|
#18+
Mikhail Tchervonenkoдумал может что то готовое есть что не пихает всё сразу в память http://www.ibphoenix.com/products/software/dbfile Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2017, 13:39:45 |
|
||
|
Чтение больших csv в базу
|
|||
|---|---|---|---|
|
#18+
Часть тестового задания по многопоточной сортировке, в т.ч. и для работы с файлами больше 4гб: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291. 292. 293. 294. 295. 296. 297. 298. 299. 300. 301. 302. 303. 304. 305. 306. 307. 308. 309. 310. 311. 312. 313. 314. 315. 316. 317. 318. 319. 320. 321. 322. 323. 324. 325. 326. 327. 328. 329. 330. 331. 332. 333. 334. 335. 336. 337. 338. 339. 340. 341. 342. 343. 344. 345. 346. 347. 348. 349. 350. 351. 352. 353. 354. 355. 356. 357. 358. 359. 360. 361. 362. 363. 364. 365. 366. 367. 368. 369. 370. 371. 372. 373. 374. 375. 376. 377. 378. 379. 380. 381. 382. 383. 384. 385. 386. 387. 388. 389. 390. 391. 392. 393. 394. 395. 396. 397. 398. 399. 400. 401. 402. 403. 404. 405. 406. 407. 408. 409. 410. 411. 412. 413. 414. 415. 416. 417. 418. 419. 420. 421. 422. 423. 424. 425. 426. 427. 428. 429. 430. 431. 432. 433. 434. 435. 436. 437. 438. 439. 440. 441. 442. 443. 444. 445. 446. 447. 448. 449. 450. 451. 452. 453. 454. 455. 456. 457. 458. 459. 460. 461. 462. 463. 464. 465. 466. 467. 468. 469. 470. 471. 472. 473. 474. 475. 476. 477. 478. 479. 480. 481. 482. 483. 484. 485. 486. 487. 488. 489. 490. 491. 492. 493. 494. 495. 496. 497. 498. 499. 500. 501. 502. 503. 504. 505. 506. 507. 508. 509. 510. 511. 512. 513. 514. 515. 516. 517. 518. 519. 520. 521. 522. 523. 524. 525. 526. 527. 528. 529. 530. 531. 532. 533. 534. 535. 536. 537. 538. 539. 540. 541. 542. 543. 544. 545. 546. 547. 548. 549. 550. 551. 552. 553. 554. 555. 556. 557. 558. 559. 560. 561. 562. 563. 564. 565. 566. 567. 568. 569. 570. 571. 572. 573. 574. 575. 576. 577. 578. 579. 580. 581. 582. 583. 584. 585. 586. 587. 588. 589. 590. 591. 592. 593. 594. 595. 596. 597. 598. 599. 600. 601. 602. 603. 604. 605. 606. 607. 608. 609. 610. 611. 612. 613. 614. 615. 616. 617. 618. 619. 620. 621. 622. 623. 624. 625. 626. 627. 628. 629. 630. 631. 632. 633. 634. 635. После загрузки в list нужно вызвать scanbuffer и затем доставать строки через StringItem. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2017, 13:59:59 |
|
||
|
Чтение больших csv в базу
|
|||
|---|---|---|---|
|
#18+
wadman, спасибо, это уже ближе к делу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2017, 14:02:10 |
|
||
|
Чтение больших csv в базу
|
|||
|---|---|---|---|
|
#18+
Mikhail Tchervonenkoэто уже ближе к делу Ближе? Это дело целиком, на блюдечке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2017, 14:04:07 |
|
||
|
Чтение больших csv в базу
|
|||
|---|---|---|---|
|
#18+
Mikhail Tchervonenko, Может быть, посмотреть в сторону ETL? Datastage, Pentaho. В них есть готовые инструменты для подобных задач. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2017, 20:16:20 |
|
||
|
Чтение больших csv в базу
|
|||
|---|---|---|---|
|
#18+
schiMikhail Tchervonenko наверняка есть уже что то готовое? Readlnненене. есть fileopen для таких тяжеляков надо работать на самом низком уровне. И парсить CSV ручками, и без любых попыток использования дельфийского типа данных string Везде - только PChar ...тогда, да, парсинг будет - почти со скоростью чтения с диска. Проверено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2017, 02:42:18 |
|
||
|
Чтение больших csv в базу
|
|||
|---|---|---|---|
|
#18+
Makar4ik, Не не не! У них ручки не разработанные. По этому уже существующий софт, и ничего из своих велосипедов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2017, 02:53:38 |
|
||
|
Чтение больших csv в базу
|
|||
|---|---|---|---|
|
#18+
НяшикMakar4ik, Не не не! У них ручки не разработанные. По этому уже существующий софт, и ничего из своих велосипедов.надо тренировать своё тело. MFC познать например, или, понять как сортируют по Кнуту... Ну, это шутки. Но я правду сказал. Нельзя обработать гигабайты стандартными консьюмерскими компонентами. Надо самому моск включать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2017, 02:57:56 |
|
||
|
Чтение больших csv в базу
|
|||
|---|---|---|---|
|
#18+
Makar4ikНельзя обработать гигабайты стандартными консьюмерскими компонентами. Думаю, как и многим создателям своего софта, и в голову не приходило. Что кто - то будет грузить файлы в несколько гб По этому, соглашусь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2017, 03:02:03 |
|
||
|
Чтение больших csv в базу
|
|||
|---|---|---|---|
|
#18+
НяшикMakar4ikНельзя обработать гигабайты стандартными консьюмерскими компонентами. Думаю, как и многим создателям своего софта, и в голову не приходило. Что кто - то будет грузить файлы в несколько гб По этому, соглашусьнекоторым приходило. Поэтому бывают маппинги файлов в память окнами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2017, 03:10:12 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39528216&tid=2041740]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
443ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 729ms |

| 0 / 0 |
